Java命令运行时间太长

时间:2013-11-25 10:48:16

标签: java jar console-application

我有一个具有大量依赖关系的Java控制台应用程序。我要在生产中运行它,所以我创建了一个可运行的jar。事实是,为了运行它,我需要写这样的东西:

java -classpath C:\Users\dandini\workspace\detror\target\classes;C:\Users\dandini\.m2\repository\mysql\mysql-connector-java\5.1.10\mysql-connector-java-5.1.10.jar;C:\Users\dandini\.m2\repository\org\hibernate\hibernate-entitymanager\4.2.4.Final\hibernate-entitymanager-4.2.4.Final.jar;C:\Users\dandini\.m2\repository\org\jboss\logging\jboss-logging\3.1.0.GA\jboss-logging-3.1.0.GA.jar;C:\Users\dandini\.m2\repository\dom4j\dom4j\1.6.1\dom4j-1.6.1.jar;C:\Users\dandini\.m2\repository\org\hibernate\hibernate-core\4.2.4.Final\hibernate-core-4.2.4.Final.jar;C:\Users\dandini\.m2\repository\antlr\antlr\2.7.7\antlr-2.7.7.jar;C:\Users\dandini\.m2\repository\org\jboss\spec\javax\transaction\jboss-transaction-api_1.1_spec\1.0.1.Final\jboss-transaction-api_1.1_spec-1.0.1.Final.jar;C:\Users\dandini\.m2\repository\org\hibernate\javax\persistence\hibernate-jpa-2.0-api\1.0.1.Final\hibernate-jpa-2.0-api-1.0.1.Final.jar;C:\Users\dandini\.m2\repository\org\hibernate\common\hibernate-commons-annotations\4.0.2.Final\hibernate-commons-annotations-4.0.2.Final.jar;C:\Users\dandini\.m2\repository\org\javassist\javassist\3.15.0-GA\javassist-3.15.0-GA.jar;C:\Users\dandini\.m2\repository\commons-dbcp\commons-dbcp\20030825.184428\commons-dbcp-20030825.184428.jar;C:\Users\dandini\.m2\repository\commons-pool\commons-pool\20030825.183949\commons-pool-20030825.183949.jar;C:\Users\dandini\.m2\repository\c3p0\c3p0\0.9.1.2\c3p0-0.9.1.2.jar;C:\Users\dandini\.m2\repository\org\slf4j\slf4j-api\1.6.6\slf4j-api-1.6.6.jar;C:\Users\dandini\.m2\repository\org\slf4j\jcl-over-slf4j\1.6.6\jcl-over-slf4j-1.6.6.jar;C:\Users\dandini\.m2\repository\org\slf4j\slf4j-log4j12\1.6.6\slf4j-log4j12-1.6.6.jar;C:\Users\dandini\.m2\repository\log4j\log4j\1.2.15\log4j-1.2.15.jar;C:\Users\dandini\.m2\repository\commons-httpclient\commons-httpclient\20020423\commons-httpclient-20020423.jar uk.co.dandini.Detrot uk.co.dandini.Detrot

有没有更短的方式?它通常如何在生产中部署和运行?

3 个答案:

答案 0 :(得分:1)

通常它被打包到一个可执行的JAR中,该JAR包含一个带有类路径的清单,Java用它来加载类:How To Make A Java Exe File Or Executable JAR File

或者您可以创建自己的加载程序,它可以设置应用程序的类路径,因为它在Maven AppAssembler plugin中完成(推荐)。

答案 1 :(得分:1)

你正在使用maven,所以这很容易。可能最好的选择是构建一个独立的“uberjar”,它将包含所有依赖项,并且只需

即可运行
java -jar myApp.jar

请参阅this answer on StackOverflow

答案 2 :(得分:0)