我正在爲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