有时在开始时 STS 挂起。
有没有可能找到原因?可能存在日志或可能在调试模式下启动?另外我如何区分完全挂起和工作非常缓慢?谢谢。PS如何解决?
我正在使用 Spring 工具套件,我刚刚将其升级到最新版本spring-tool-suite-3.5.1.RELEASE-e4.3.2-linux-gtk-x86_64,但现在无法启动它。它给出了以下错误:
VM terminated. Exit code=1
/usr/bin/java
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx768m
-XX:MaxPermSize=256m
-jar /home/vishal/install/sts/sts-3.5.1.RELEASE//plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
-os linux
-ws gtk
-arch x86_64
-showsplash
-launcher /home/vishal/install/sts/sts-3.5.1.RELEASE/STS
-name STS
--launcher.library /home/vishal/install/sts/sts-3.5.1.RELEASE//plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140116-2212/eclipse_1508.so
-startup /home/vishal/install/sts/sts-3.5.1.RELEASE//plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.overrideVmargs
-exitdata 98006
-product org.springsource.sts.ide
-vm /usr/bin/java
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx768m
-XX:MaxPermSize=256m
-jar /home/vishal/install/sts/sts-3.5.1.RELEASE//plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
Run Code Online (Sandbox Code Playgroud)
我有 ubuntu 12.04 和这个 Java 版本:
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
Run Code Online (Sandbox Code Playgroud)
这是 STS.ini
-vm
/usr/lib/jvm/jdk1.7.0/bin/java
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20140116-2212
-product
org.springsource.sts.ide
--launcher.defaultAction …Run Code Online (Sandbox Code Playgroud) java eclipse spring sts-springsourcetoolsuite spring-tool-suite
我没有添加以下maven依赖项(我是项目中唯一的dev):
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-remote-shell</artifactId>
<version>1.0.0.RELEASE</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
这里发生了什么?
我正在使用Eclipse STS 3.8.1
无论如何,要从启动仪表板中删除应用程序吗?
询问原因(类似于我的实际应用程序):
我有多个Spring Boot应用程序,其中一些使用共享库。在这个库中,我有一些常用的配置:例如:使用Ribbon(@LoadBalancer)设置RestTemplate / s。
为了访问@Configuration和@Bean批注,我在库pom中包括以下依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>1.4.0.RELEASE</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
现在的问题是,即使我的库不是启动应用程序,它也会与应用程序一起显示在启动仪表盘中。
这很烦人,因为它使仪表板杂乱无章,如何删除它?
只是为了扩展我上面的示例:
我正在使用一个多模块Maven项目,在同一个父项下有多个应用程序和库。
我在网上到处找。我几乎尝试了所有方法,从删除 STS 到从我的站中删除所有代码并重新导入所有内容。我玩过依赖项、构建路径、属性等,但仍然没有任何效果。
通过CLI在Maven上运行测试工作正常,其他团队成员没有这个问题,所以这可能是我站上的一些配置。
问题:
当我尝试使用 JUnit v. 4 在 STS 中调试/运行单元测试时,我收到以下堆栈跟踪错误:
java.lang.IllegalAccessError: class org.mockito.internal.creation.jmock.ClassImposterizer$1 cannot access its superclass org.mockito.internal.creation.cglib.MockitoNamingPolicy
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.mockito.internal.creation.jmock.ClassImposterizer.<clinit>(ClassImposterizer.java:38)
at org.mockito.internal.creation.CglibMockMaker.createMock(CglibMockMaker.java:23)
at org.powermock.api.mockito.internal.mockmaker.PowerMockMaker.createMock(PowerMockMaker.java:43)
at org.mockito.internal.util.MockUtil.createMock(MockUtil.java:33)
at org.mockito.internal.MockitoCore.mock(MockitoCore.java:59)
at org.mockito.Mockito.mock(Mockito.java:1285)
at org.mockito.internal.configuration.MockAnnotationProcessor.process(MockAnnotationProcessor.java:33)
at org.mockito.internal.configuration.MockAnnotationProcessor.process(MockAnnotationProcessor.java:16)
at org.mockito.internal.configuration.DefaultAnnotationEngine.createMockFor(DefaultAnnotationEngine.java:43)
at org.mockito.internal.configuration.DefaultAnnotationEngine.process(DefaultAnnotationEngine.java:66)
at org.mockito.internal.configuration.InjectingAnnotationEngine.processIndependentAnnotations(InjectingAnnotationEngine.java:71)
at org.mockito.internal.configuration.InjectingAnnotationEngine.process(InjectingAnnotationEngine.java:55)
at org.mockito.MockitoAnnotations.initMocks(MockitoAnnotations.java:108)
at org.mockito.internal.runners.JUnit45AndHigherRunnerImpl$1.withBefores(JUnit45AndHigherRunnerImpl.java:27)
at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:254)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) …Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Ubuntu 16.04 上使用Spring Tool Suite 3.8.3。启动后我收到此错误:
期间发生内部错误:“初始化 Java 工具”
详细消息:
在“初始化 Java 工具”期间发生内部错误。无法找到用于堆栈图生成的 Asm(正在查找“aj.org.objectweb.asm.ClassReader”)。需要生成编织代码的堆栈图,以避免在 Java 1.7 或更高运行时上编织类型 org.eclipse.jdt.core.search.SearchPattern 时在编织类时出现验证错误
我不得不承认,我不知道我应该在这里做什么,而且我在网上找不到任何指示。欢迎任何建议或提示。
我正在使用STS开发一个基于 Spring Boot 的大型应用程序。我们有多个 Maven 项目和一个父项目来包含它们。每个项目都有自己的测试代码和配置文件。
当我在主入口类中运行 Spring Boot 应用程序时。依赖项目的test-classes文件夹会被加载到app运行的classpath中,这会导致spring bean定义的一些冲突。我必须配置每个项目,从“构建路径上的源文件夹”中删除 [src/test/java 和 src/test/resources]。
整个项目结构如下:
app-parent
子应用程序-1
子应用程序 2
子app-3
main-app [从这个项目运行]
main-app 项目依赖于 sub-app-1 ~ 3。
有什么方法可以让 STS (Eclipse) 运行 Java 应用程序,但不包括类路径中的 test-classes 文件夹?我真的想要源文件夹下的测试代码,但在应用程序运行时没有它们。
此外,我尝试打开[运行配置],但它只能向类路径添加更多文件。
甚至不再有创建 spring bean 配置文件的选项,从 3.9 过渡到 4 的一系列功能刚刚消失?如果是这种情况,似乎他们在日食结束时为 IDE 不可知论牺牲了很多......
这与以下问题类似: Eclipse找不到使用sdkman安装的jdk
我在Mac(macos-mojave)上仍面临问题
我两个
/usr/bin/java
/usr/bin/javac
Run Code Online (Sandbox Code Playgroud)
指向
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java
/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/javac
Run Code Online (Sandbox Code Playgroud)
分别。
SDKMAN!没有安装正确java,并javac为SDKMAN!s'的默认Java版本。
因此,我有正确java和javac:
% java -version
openjdk version "11.0.3" 2019-04-16
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.3+7)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.3+7, mixed mode)
% javac -version
javac 11.0.3
Run Code Online (Sandbox Code Playgroud)
但是,我没有在其中安装任何Java版本:
ls -la /Library/Java/JavaVirtualMachines
total 0
drwxr-xr-x 2 root wheel 64 Jun 19 10:06 .
drwxr-xr-x 4 root wheel 128 Apr 16 06:16 ..
Run Code Online (Sandbox Code Playgroud)
编辑:
我还尝试过更新JVM参考/Applications/SpringToolSuite4.app/Contents/Eclipse/SpringToolSuite4.ini(与相对Eclipse.ini):
-vm …Run Code Online (Sandbox Code Playgroud) eclipse ×8
java ×4
spring ×4
spring-boot ×2
installation ×1
javabeans ×1
junit ×1
macos-mojave ×1
maven ×1
maven-2 ×1
mockito ×1
mockrunner ×1
sdkman ×1
ubuntu ×1
xml ×1