`
阅读更多

java.io.IOException: invalid header field 

 

后来在网上查找资料说是

java.io.IOException: invalid header field异常

是因为MAINFEST.MF文件的Class-path:后面少了一空格
Manifest-Version: 1.0
Class-Path:

 

果然如此

 

继续查找:

打包一个可以直接利用java -jar  时可能遇到的问题(如果直接在eclipse中expert按照步骤选择main class导出的话就没有这个问题): 

jar cvfm lottery.jar MANIFEST.MF jdbc.properties com
如果出现:
java.io.IOException: invalid header field
这样的错误的话,就说明MANIFEST.MF文件有问题,比如写成了这样:
Manifest-Version: 1.0
Main-Class:com.feishan.lottery.view.Index
Class-Path: jar/jdbc_feishan.jar jar/mysql5.0.3.jar
注意:
Main-Class:后面应该有一个空格:
Manifest-Version: 1.0
Main-Class: com.feishan.lottery.view.Index
Class-Path: jar/jdbc_feishan.jar jar/mysql5.0.3.jar
这样写就对了注意:最后一行也要有一个回车键。否则后面那一行是不能打包进去的

最后用java -jar lottery.jar就可以运行了

这个 manifest.mf 可以放在任何位置,也可以是其它的文件名,
只需要有 Main-Class: test.Test 一行,且该行以一个回车符结束即可

最后说明:Manifest 技巧
总是以Manifest-Version属性开头
每行最长72个字符,如果超过的化,采用续行
确认每行都以回车结束,否则改行将会被忽略
如果Class-Path 中的存在路径,使用"/"分隔目录,与平台无关
使用空行分隔主属性和package属性
使用"/"而不是"."来分隔package 和class ,比如 com/example/myapp/
class 要以.class结尾,package 要以 / 结尾

 

 

weblogic.application.ModuleException: Context path '' is already in use by the module

经排查是weblogic的配置文件有问题:

<?xml version="1.0" encoding="UTF-8"?>
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/90"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<context-root>/vpg/</context-root>
	<container-descriptor>
		<prefer-web-inf-classes>false</prefer-web-inf-classes>
	</container-descriptor>
	<virtual-directory-mapping>
		<local-path>/opt/apps/virtual/vpgrev</local-path>
		<url-pattern>*</url-pattern>
	</virtual-directory-mapping>
	<jsp-descriptor>
		<keepgenerated>true</keepgenerated>
		<page-check-seconds>120</page-check-seconds>
	</jsp-descriptor>
</weblogic-web-app>

 

原因就是<context-root>中的 vpg 应用名有重复。weblogic下另一个应用的weblogic.xml中的<context-root>也是vpg。

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics