【问题标题】:Java command too long to run [duplicate]Java命令太长而无法运行[重复]
【发布时间】:2013-11-25 10:48:16
【问题描述】:

我有一个带有很多依赖项的 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

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

【问题讨论】:

    标签: java jar console-application


    【解决方案1】:

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

    或者您可以创建自己的加载器,为您的应用设置类路径,就像在 Maven AppAssembler plugin 中所做的那样(推荐)。

    【讨论】:

      【解决方案2】:

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

      java -jar myApp.jar
      

      请参考this answer on StackOverflow

      【讨论】:

        【解决方案3】:

        您将依赖项添加到 MANIFEST 文件中 http://docs.oracle.com/javase/tutorial/deployment/jar/downman.html

        【讨论】:

          猜你喜欢
          • 2021-08-19
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-11-09
          • 2012-01-19
          • 2019-12-12
          • 2018-11-25
          相关资源
          最近更新 更多