我正在從事 Java Web App 專案。該專案具有固定的檔案結構,不使用 Maven。我想生成一個 WAR 檔案,以便我可以將它部署到 Tomcat。
我想在沒有 Eclipse 的情況下生成 WAR,只是通過 Java 工具鏈。這可能嗎?
我在https://github.com/halloleo/ContextListenerJavaWebAppSampleProject的 git 存盤庫中放置了一個具有相同檔案結構的最小可重現示例。
uj5u.com熱心網友回復:
WAR 檔案是遵循特定結構的存檔檔案 (zip/jar)。有關更多詳細資訊,請參見此處。如果您想手動創建 WAR,則需要手動創建結構,然后創建擴展名為.war.
這是一個快速而骯臟的 ant 腳本,可以從 GitHub 上發布的結構創建 WAR 檔案
<!-- Compile the classes and copy other files to conform to the WAR structure -->
<target name="compile">
<mkdir dir="build/WEB-INF/classes" />
<copy file="WebContent/index.jsp" todir="build" />
<copydir src="WebContent/WEB-INF/" dest="build/WEB-INF/" />
<javac srcdir="src" destdir="build/WEB-INF/classes" classpath="WebContent/WEB-INF/lib/javax.servlet-api-4.0.1.jar" />
</target>
<!-- Create the WAR file -->
<target name="war">
<mkdir dir="dist" />
<war destfile="dist/test.war" basedir="build" webxml="WebContent/WEB-INF/web.xml"/>
</target>
將其另存為build.xml并運行ant clean compile dist以在目錄中生成 WAR 檔案dist。
注意:如果您還沒有 ant 工具,則可能需要安裝它。此外,如果您想完全免費使用工具 - 您可以閱讀build.xml檔案并將步驟轉換為“批處理”/“shell”腳本(所有步驟都是不言自明的)。
結論:希望這會有所幫助。但我仍然建議使用像 Maven 或 Gradle 這樣的工具,這些在專案增長時會派上用場(特別是當有多個庫及其依賴項時)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/537016.html
標籤:爪哇雄猫战争
