java - 类路径行太长

标签 java jakarta-ee classpath wildfly java-client

我用Java开发了应用客户端,用Glassfish正常运行..

但是在移动到 Wildfly 之后......我遇到了这个错误:

Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYSRV0161: 无法获取部署 list \"/content/Application.jar\" 引起:java.io.IOException:行太长"}}

我预计错误是因为 Manifest.mf 文件中的长行 Class-Path

Class-Path: ../lib/jaybird-2.1.6.jar ../lib/rtfparserkit-1.6.0.jar ../lib/jug-lgpl-2.0.0.jar ../lib/mysql-connector-java-5.1.37-bin.jar ../lib/trilead-ssh2-build213.jar ../lib/wsdl4j-1.6.2.jar ../lib/wsdl4j-qname-1.6.1.jar ../lib/xmlbeans-2.6.0.jar ../lib/poi-3.11-20141221.jar ../lib/poi-ooxml-3.11-20141221.jar ../lib/poi-ooxml-schemas-3.11-20141221.jar ../lib/jersey-apache-client-1.16.jar ../lib/jersey-bundle-1.16.jar ../lib/jersey-core-1.16.jar ../lib/jersey-client-1.16.jar ../lib/jackson-core-asl-1.9.13.jar ../lib/jackson-mapper-asl-1.9.2.jar ../lib/js-14.jar ../lib/drools-core-5.0.1.jar ../lib/activemq-all-5.10.0.jar ../lib/json-simple-1.1.1.jar ../lib/commons-io-2.4.jar ../lib/javassist.jar ../lib/scannotation-1.0.2.jar ../lib/j-text-utils-0.3.3.jar ../lib/commons-lang-2.6.jar ../lib/commons-net-3.3.jar ../lib/opencsv-2.4.jar ../lib/gson-2.2.4.jar ../lib/httpclient-4.3.5.jar ../lib/commons-vfs-20100924-pentaho.jar ../lib/log4j-1.2.17.jar ../lib/commons-logging-1.1.3.jar ../lib/spring-core-3.1.4.RELEASE.jar ../lib/commons-digester-2.1.jar ../lib/commons-beanutils-1.9.2.jar ../lib/ognl-2.7.3.jar ../lib/jxl-2.6.3.jar ../lib/metastore-5.0.1.jar ../lib/edtftpj-2.1.0.jar ../lib/kettle5-log4j-plugin-5.1.0.0-752.jar ../lib/kettle-db-4.4.0-stable.jar ../lib/janino-2.5.16.jar ../lib/commons-compiler-2.7.8.jar

有没有其他方法可以在不输入这一长行的情况下将所有 jar 加载到文件夹中?或如何避免此错误消息?

最佳答案

list 文件不得包含超过 72 字节的行。

您必须在恰好 72 个字节后换行。

Class-Path: ../lib/jaybird-2.1.6.jar ../lib/rtfparserkit-1.6.0.jar ../l
 ib/jug-lgpl-2.0.0.jar ../lib/mysql-connector-java-5.1.37-bin.jar ../li
 b/trilead-ssh2-build213.jar ../lib/wsdl4j-1.6.2.jar ../lib/wsdl4j-qnam
 e-1.6.1.jar ...

在规范中查找行长:

http://docs.oracle.com/javase/8/docs/technotes/guides/jar/jar.html#JAR_Manifest

备选方案: 不要在 list 中使用类路径。而是从命令行参数开始:

java -cp lib/* mainclass

关于java - 类路径行太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39097087/

相关文章:

java - map 减少工作失败

java - Pattern.matcher(s).replaceAll ("$1$2$3") 仅将 $2 转换为小写

java - 添加到 HashMap 上的列表值

java - 在哪里更新类路径变量

java - 使用分段上传将文件放入 Amazon S3

java - 基于 Spring 的 Web 应用程序的环境特定配置?

轻松设计UI的Java Web框架

java - 我可以安装 java 但不安装 Java SE 吗?

java - 将 <outputDirectory> 添加到 pom 时类路径为空

testing - 如何将类从一个项目测试包导入 netbeans 中另一个项目的测试包?