我正在为WebLogic服务器制作一些WebFilters,并且已经启动并运行了所有内容。将jardesc内容转换为jar命令
问题是我如何将过滤器打包成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>
当前的jar命令:
jar -cvf corsfilter.jar .project .classpath -C .\bin dk\akait\filters\cors\CorsFilter.class
罐子命令创建一个jar文件,这似乎是等同于所产生的一个在Eclipse中使用jardesc文件,除了看起来像jar文件根目录下的META-INF文件夹的某种符号链接。
谁能解释一下执行jar.exe的正确命令,给定jardesc文件?
或者
谁能解释在不工作的jar文件的META-INF文件是什么?
您正在使用哪个版本的Java?我只是用jdk-1.8.0_92 64位试过你的jar命令,没有得到不祥的META-INF条目。不过,我真的建议不要依赖eclipse或任何手工制作的命令行来打包你的过滤器。你应该尝试一下。这可能听起来像是一种矫枉过正,但只要你不想要一些非常特殊的东西,开始其实很容易。如果这是一个选项,我可以制作一些基本的gradle文件来完成打包... – dpr
你可以添加jar-command的命令行输出吗? – dpr
用java版本更新了问题并从jar-command输出。 – Falle1234