Tag: executable jar

使用Shade-Plugin正确地最小化Uber Jar

我正在使用Maven-Shade-Plugin创建一个可运行的Uber-jar。 根据此页面的最后一帧,可以通过使用以下方式最小化jar的大小: true 但是此function未考虑log4j.properties文件中声明的类。 因此,例如org.apache.log4j.appender.TimeAndSizeRollingAppender不包含在Uber-jar中,即使它已在log4j.properties文件中声明。 我相信我会遇到与Spring相同的问题。 如果我的代码只引用接口A而我的Spring文件包含实现A的B类实例化,那么B可能不会被添加到jar中,因为它不在代码中。 我怎么解决这个问题?

如何使用便携式JRE打包可执行jar?

我希望能够通过可执行JAR进行分发,而无需让用户升级到最新版本的JRE。 如何将JRE打包到JAR中,以便它们可以在系统上没有安装JRE的情况下运行jar?

在IntelliJ IDEA中创建一个可删除的jar

我正在使用IntelliJ IDEA 12.1.3。 我有一个模块,我正在尝试按照此处给出的步骤将其转换为jar。 我构建了jar文件,并将jar文件移动到D:/。 如果我尝试运行此jar,我会收到以下消息: 无法从jar加载Main-Class清单属性 如果我使用java -classpath jar com.code.TestCase运行它,它可以很好地工作。 为什么会这样? 我使用IntelliJ IDEA创建了jar。 在那个jar中,它包含了我添加的所有外部库的所有代码。 在src清单文件中: Manifest-Version: 1.0 Main-Class: com.code.TestCase 但是jar的清单文件内容是: Manifest-Version: 1.0 Build-Jdk: 1.6.0 Built-By: ubuntu Created-By: Apache Maven Archiver-Version: Plexus Archiver Name: org.apache.log4j Implementation-Vendor: “Apache Software Foundation” Implementation-Title: log4j Implementation-Version: 1.2.15 为什么Main-Class没有添加到jar文件MANIFEST.MF中,但它在src中有Main-Class ?

Java – 在JAR文件中写入txt

可能重复: Java程序如何使用.jar中的文件进行读写? 如何从JAR java编译的项目中写入.txt文件? 当我运行我的项目时,它不会给出错误,但它不会写入JAR文件中的.txt。 我使用以下方法制作JAR文件: netbeans clean /build tool 码: public class FileIO { private File file; private Scanner filescScanner, lineScanner; private PrintWriter fileWriter; private String[][] data; public FileIO () { data = new String[100][2]; } public String[][] getLineScores(){ return this.loadHighscores(this.getClass().getResourceAsStream(“LineHighscores.txt”)); } public String[][] getTimeScores(){ return this.loadHighscores(this.getClass().getResourceAsStream(“TimeHighscores.txt”)); } public void setLineScores( String name,String lines […]

无法在JAR执行时找到或加载主类

我完成了我的项目(在NetBeans )并导出了Jar文件(我在导出Jar之前正确地在项目属性中设置了我的主类): 现在,这是我的JAR : 运行Jar时显示此错误(在命令行页面中): Could not find or load main Class on JAR executing 这是我的MANIFEST.MF信息: Manifest-Version: 1.0 Ant-Version: Apache Ant 1.9.1 Created-By: 1.7.0_11-b21 (Oracle Corporation) Class-Path: lib/mysql-connector-java-5.1.18-bin.jar X-COMMENT: Main-Class will be added automatically by build Main-Class: Project.LoginFrame 我的所有课程都在这里: 我也在命令行中尝试: 我的项目此时已执行,但所有图片(位于文件夹中)都没有显示,而且还发生了sql Exception : 更新: package Project; import javax.imageio.ImageIO; import javax.swing.*; import javax.swing.plaf.nimbus.NimbusLookAndFeel; import java.awt.event.ActionEvent; import […]

如何在jar中打包opencv + java

我一直在使用Opencv 2.4.5和Java构建一个应用程序,现在想分发应用程序。 使用以下内容加载库: static{ System.loadLibrary(“opencv_java245”); } 哪个工作正常。 但是,在导出时,从jar运行时它不起作用: java -jar build1.jar opencv_java245.jar文件作为用户库包含在内,并连接了本机文件(libopencv_java245.dylib)。 当运行从Eclipse生成的可执行jar时,我得到下面的UnsatisfiedLinkError,尽管在eclipse中编译/运行正常。 Exception in thread “main” java.lang.UnsatisfiedLinkError: no opencv_java245 in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860) at java.lang.Runtime.loadLibrary0(Runtime.java:845) at java.lang.System.loadLibrary(System.java:1084) at com.drawbridge.Main.(Main.java:12) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:266) at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56) 有人知道在jar子里打包OpenCV的简单方法吗? 更新:我现在已经筋疲力尽了。 我可以将库添加到我的构建路径(而不是使用System.loadLibrary),这可以在eclipse中工作,但不能在jar中打包。 我已经尝试了一切。 我还检查了我正在尝试加载的动态库的类型 – 它是 Mach-O 64-bit x86_64 dynamically linked shared library 这似乎应该工作正常。 我用-D64和-D32来测试并得到两者相同的结果。

使用maven和jetty创建一个可执行jar

我想使用jetty启动我的应用程序,所以我添加了下面提到的依赖项。 当我运行主方法Jetty成功启动。(我正在开发一个struts2 + spring3 + hibernate maven项目,我也可以在tomcat中部署它) 现在我想从战争包装pom创建一个可执行jar。 所以我在我的pom中添加了maven-assembly-plugin 。 (我尝试使用maven jar插件,但它没有添加依赖项) 来源 插件 maven-war-plugin 2.3 com.dca.engine.StartDCA WEB-INF/lib/jetty*.jar,WEB-INF/lib/org.apache.taglibs.standard.glassfish*.jar,WEB-INF/lib/org.apache.jasper.glassfish*.jar,WEB-INF/lib/org.eclipse.jdt.core*.jar,WEB-INF/lib/javax.servlet.jsp*.jar,WEB-INF/lib/javax.el*.jar \ org.apache.maven.plugins maven-assembly-plugin 2.4 jar-with-dependencies com.dca.engine.StartDCA make-assembly package single src/main/java **/*.java **/*.xml src/main/resources true 嵌入式Jetty org.eclipse.jetty jetty-server 8.1.10.v20130312 org.eclipse.jetty jetty-webapp 8.1.10.v20130312 <!– provided –> org.eclipse.jetty jetty-jsp 8.1.10.v20130312 <!– provided –> 主要方法 Server server = new Server(8080); System.setProperty(“is_DCA”, […]

只有当依赖性组装成一个jar子时才会抛出泽西exception

我正在编写一个嵌入Jetty w / Jersey的服务器。 当我从Eclipse执行时,一切都很棒。 但是,如果我使用Maven的程序集将我的服务器和所有依赖项组装到一个jar中:单个目标,我会得到一个例外: Sep 26, 2012 5:35:59 PM com.sun.jersey.spi.container.ContainerResponse write SEVERE: A message body writer for Java class com.acme.server.webservice. exception.WebServiceFailure, and Java type class com.acme.server.webserv ice.exception.WebServiceFailure, and MIME media type application/json was not fo und Sep 26, 2012 5:35:59 PM com.sun.jersey.spi.container.ContainerResponse write SEVERE: The registered message body writers compatible with the MIME […]

为控制台制作一个jar文件

我有一个没有GUI的程序,我使用控制台! 所以首先我从控制台的用户那里读取一行 BufferedReader userReader = new BufferedReader(new InputStreamReader(System.in)); 然后我会在控制台中为用户写一个答案! 的System.out.println( “服务器:” +输出); 我想为它创建一个jar文件! 但是如何在不使用GUI的情况下在jar文件中显示我的控制台? 请帮我谢谢。

Intellij胖的一个jar工件不会生成工作输出

Intellij胖的一个jar工件不会生成工作输出。 您可以在下面看到我的设置和项目结构( 左 )。 当我单击构建工件然后单击生成的输出时,没有任何反应。