我正在为我们的WebLogic服务器制作一些WebFilters,并且我已经准备好了所有的东西.
问题是如何将过滤器打包到jar文件中.如果我使用以下jardesc文件并从Eclipse创建jar文件,一切正常,WebLogic在加载webfilter类时没有问题.但是一旦我尝试使用jar.exe手动创建jar文件,我在WebLogic中加载webcontainer时就会遇到ClassNotFoundExceptions.
工作jardesc文件:
<?xml version="1.0" encoding="WINDOWS-1252" standalone="no"?>
<jardesc>
<jar path="C:/Workspace/Java/Jars/jars/corsfilter.jar"/>
<options buildIfNeeded="true" compress="true" descriptionLocation="/CorsFilter/corsfilter.jardesc" exportErrors="false" exportWarnings="true" includeDirectoryEntries="false" overwrite="false" saveDescription="true" storeRefactorings="false" useSourceFolders="false"/>
<storedRefactorings deprecationInfo="true" structuralOnly="false"/>
<selectedProjects/>
<manifest generateManifest="true" manifestLocation="" manifestVersion="1.0" reuseManifest="false" saveManifest="false" usesManifest="true">
<sealing sealJar="false">
<packagesToSeal/>
<packagesToUnSeal/>
</sealing>
</manifest>
<selectedElements exportClassFiles="true" exportJavaFiles="false" exportOutputFolder="false">
<file path="/CorsFilter/.project"/>
<file path="/CorsFilter/.classpath"/>
<javaElement handleIdentifier="=CorsFilter/src"/>
</selectedElements>
</jardesc>
Run Code Online (Sandbox Code Playgroud)
当前的jar命令:
jar -cvf corsfilter.jar .project .classpath -C .\bin dk\akait\filters\cors\CorsFilter.class
Run Code Online (Sandbox Code Playgroud)
jar-command创建一个jar文件,它似乎等同于在Eclipse中使用jardesc文件生成的jar文件,除了看起来像某个符号链接到jar根目录中的META-INF文件夹之外 - 文件.
在给出jardesc文件的情况下,任何人都可以解释执行jar.exe的正确命令吗?
要么
任何人都可以解释不工作的jar文件中的META-INF文件是什么?
我认为你的命令行甚至不正确。根据jar输出
用法: jar {ctxui}[vfmn0PMe] [jar 文件] [清单文件] [入口点] [-C dir] 文件 ...
还有http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jar.html
它应该是 [jar-file] 名称之后的 [manifest-file] 和 [entry-point]。
尝试
jar -cvf corsfilter.jar -C . .project .classpath -C .\bin dk\akait\filters\cors\CorsFilter.class
| 归档时间: |
|
| 查看次数: |
799 次 |
| 最近记录: |