我已经完成了几个项目并将它们打包成 jar 文件,但我注意到我的 jar 文件运行速度比在 IDE 中慢得多。
我使用 Eclipse 来编译和运行我的程序。在 Eclipse 中,一切正常。当我将项目打包为可运行的 Jar 并通过双击执行它时,一切仍然有效。但是当我有动画时,程序运行速度非常慢。我现在每秒大约 2 帧,而不是 Eclipse 中的每秒 30 帧。动画非常滞后。
有趣的是,当我从命令提示符 ( java -jar MyCode.jar) 运行同一个 Jar 时,延迟消失了,我的程序正常工作。
我目前不知道是什么导致了这个问题。我的计算机运行的是 Windows Vista。我正在使用最新版本的 JRE 和 JDK。我的程序包含一个动画,没什么花哨的。
谢谢
解决方案: 我的计算机上有多个不同版本的 Java,并且使用了不正确的版本。
我需要从 springBoots bootJargradle 任务中排除特定的依赖项(类似于 maven 中提供的范围)。
我尝试了自定义配置,但它dependency-which-should-not-be-in-bootJar仍然包含在生成的 jar 中。
configurations{
provided
implementation.extendsFrom provided
}
dependencies {
// ...
provided "dependency-which-should-not-be-in-bootJar"
}
jar {
from configurations.compile - configurations.provided
from configurations.runtime
}
bootJar {
from configurations.compile - configurations.provided
from configurations.runtime
launchScript()
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试运行由 intellij 编译的 .jar,并在 java 14 中提供预览功能。
我现在尝试在具有 java 14 的服务器上运行 .jar。
Error: LinkageError occurred while loading main class com.wickedstacks.agenda.AgendaRestApp
java.lang.UnsupportedClassVersionError: Preview features are not enabled for com/wickedstacks/agenda/AgendaRestApp (class file version 58.65535). Try running with '--enable-preview'
Run Code Online (Sandbox Code Playgroud)
在运行时启用预览功能的正确方法是什么?
java -jar agenda/agenda-rest-1.0.1.jar
Run Code Online (Sandbox Code Playgroud)
给出上面的错误
java -jar agenda/agenda-rest-1.0.1.jar --enable-preview
Run Code Online (Sandbox Code Playgroud)
这是有道理的,但没有任何作用
java --启用预览 [应用程序]
我不明白这一点,当主类位于 .jar 中时,如何提供应用程序?
我编写了一个java程序,它实际上是作为现有命令行程序的gui.所以基本上我的所有程序都是Runtime.getRuntime().exec("myprogram parameter");.所以我已经使用Eclipse IDE将我的java源代码导出为可执行jar文件并且它运行良好,但是我确实需要将此myprogram.exe包含在生成的jar文件的目录中以便工作.
现在我正在寻找一种方法将myprogram.exe包含在jar文件中,这样我就可以将它作为单个文件捆绑在一起,使用Eclipse的方法将是首选.
我创建了一个需要在bat文件中调用的jar.我需要将bat文件收到的所有命令行参数传递给jar.任何人都可以帮助我.我知道这是一个愚蠢的问题,但我对罐子和蝙蝠一无所知.在网上我无法找到两者的组合.另请注意,我不知道如何在bat文件中修复命令行参数.
好的,我有一个奇怪的问题.我想跑我的方案,作为一个.jar文件中的一个,但是当我通过双击它打开它,我得到"找不到主类,程序被关闭"的错误消息.我很确定我做的一切都正确,罐子应该工作.我也试过其他程序,每个程序都一样.(我通过BlueJ创建.jar)当我通过.bat运行它们时没有问题.这里最奇怪的是:.jar已经工作了一段时间(我猜是一两个月),我不记得做了什么不同的事情.它是相同的BlueJ版本.好吧,也许Java更新了,有些东西搞砸了...我用谷歌搜索,但我找不到解决方案.(有些人似乎有类似的问题,似乎只有他们不能运行他们的.jar;他们上传了他们,其他人说.jar运行正常.)可能是什么问题?我该如何解决?
我真的很感激这里的一些帮助.谢谢 :)
ApertureT3CH
编辑:好的伙计们,你让我不确定.Imma在这个邪恶的时间(凌晨1点34分)再次检查清单:P
EDIT2:这是我的MANIFEST.MF清单 - 版本:1.0 Class-Path:Main-Class:LocalChatClientGUI [空行] [空行]
Main类是正确的.
EDIT3:感谢hgrey:jar没有任何问题.我可以从一个bat文件运行它,实际上不应该双击jar,对吧?然而,当我点击它时我得到了错误,它通过蝙蝠工作正常.
编辑4:我终于解决了这个问题.我重新安装了JRE,现在它可以工作,虽然我看不到任何版本差异.
谢谢大家!
嗨,我开发了一个javafx在Windows操作系统上使用的swing应用程序.它在Windows上运行良好.但是,当我在Linux上运行jar时,它默认在存档管理器中打开,它不能作为可执行文件工作.
我已经检查了jar文件的属性,它已经是一个可执行文件了.
我是否必须在Linux环境中重新编译源文件才能在Linux上运行它jar file,还是jar file在Linux上运行?
我想用两个Groovy文件创建jar,AppLogic.groovy由两个少量Groovy类组成,另一个文件创建具有Spock测试套件的AppSpec,我想执行这个Spock类(设置为可执行文件)。如何创建具有所有依赖项的jar?我在这里发现与jUnit类似:如何将(JUnit)测试套件导出为可执行jar,但无法使其适应我的需要。
我使用gradle进行构建,这是我的build.gradle文件:
group 'someGroup'
version '1.0'
apply plugin: 'groovy'
apply plugin: 'java'
apply plugin:'application'
sourceCompatibility = 1.7
repositories {
//some repos here
maven { url "http://repo.maven.apache.org/maven2" }
}
dependencies {
//some dependencies here
}
Run Code Online (Sandbox Code Playgroud)
我浏览时发现了SpockRuntime,但是我不知道是否以及如何使用它来实现我的目标。
我是Spring Boot的新手,无法创建一个自包含的可执行jar.Maven创建的jar无法在运行时检测到它需要的Bean.
Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean.
Run Code Online (Sandbox Code Playgroud)
我检查了工厂,如果工厂的实施是在罐子里就是这种情况.我还仔细检查了其他帖子,并确保Spring Boot注释到位.它包括@ComponentScan和其他.
@SpringBootApplication
public class InitService {
Run Code Online (Sandbox Code Playgroud)
我假设我的pom正确设置了依赖项,因为当我从Eclipse项目启动时,应用程序运行良好.
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>de.newbe.create.InitService</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id> <!-- this is used for inheritance merges -->
<phase>package</phase> <!-- bind to the packaging phase -->
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Run Code Online (Sandbox Code Playgroud)
所以现在我向社区发起挑战,并希望获得宝贵的专业知识和支持.提前致谢!
executable-jar ×10
jar ×6
java ×6
gradle ×2
spring-boot ×2
batch-file ×1
eclipse ×1
groovy ×1
jruby ×1
jrubyonrails ×1
linux ×1
maven ×1
performance ×1
spock ×1