如何在不使用 eclipse 的情况下从终端为我的 java Web 应用程序项目创建 war 文件
How to create a war file for my java web application project from terminal without using eclipse
我有一个 java Web 应用程序项目 (maven),我想在 tomcat 服务器上提供服务。我想从中创建一个 .war 文件,这样我就可以将它放在 webapps 中 directory.I 知道从 eclipse 我可以通过导出来完成,但我需要通过终端来完成。我也尝试过 jar cvf example.war *
命令,但是当我将 war 文件放入 webapps 目录时 tomcat 无法读取我的 java 应用程序。
有人可以指导我如何从 tomcat 可以读取的终端创建 war 文件。
步骤:
导航到适当的目录(假设是桌面)并使用 maven-archetype-webapp
启动一个简单的 webapp maven 项目。例如:
mvn archetype:generate -DgroupId=com.mywebapp.www -DartifactId=MyWebApp -DarchetypeArtifactId=maven-archetype-webapp
参见:Introduction to Maven Archetypes
创建项目后,导航到包含 pom.xml
的目录并使用:
mvn 包
完成第 2 步后,导航到 target
目录,您会在其中找到生成的 MyWebApp.war
。
Copy-paste MyWebApp.war
到 tomcat webapps
目录并启动 tomcat 服务器(./startup.sh
).
如您所见,我们现在可以访问 URL http://localhost:8080/MyWebApp/
.
供您参考 -
index.jsp:
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mywebapp.www</groupId>
<artifactId>MyWebApp</artifactId>
<packaging>war</packaging>
<version>1</version>
<name>MyWebApp Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>MyWebApp</finalName>
</build>
</project>
希望对您有所帮助。
在pom.xml中,添加以下行
<packaging>war</packaging> // Replace <packaging>jar</packaging> if jar packaging already present
然后进入项目的父目录,进入mvn package
。 war 文件将在
中生成
/parent_directory/target/myproject.war
如果您想以 http://localhost:8080
而不是 http://localhost:8080/myproject
的身份访问您的项目,请将 myproject.war
重命名为 ROOT.war
并将 war 文件粘贴到tomcat 目录。
我有一个 java Web 应用程序项目 (maven),我想在 tomcat 服务器上提供服务。我想从中创建一个 .war 文件,这样我就可以将它放在 webapps 中 directory.I 知道从 eclipse 我可以通过导出来完成,但我需要通过终端来完成。我也尝试过 jar cvf example.war *
命令,但是当我将 war 文件放入 webapps 目录时 tomcat 无法读取我的 java 应用程序。
有人可以指导我如何从 tomcat 可以读取的终端创建 war 文件。
步骤:
导航到适当的目录(假设是桌面)并使用
maven-archetype-webapp
启动一个简单的 webapp maven 项目。例如:mvn archetype:generate -DgroupId=com.mywebapp.www -DartifactId=MyWebApp -DarchetypeArtifactId=maven-archetype-webapp
参见:Introduction to Maven Archetypes
创建项目后,导航到包含
pom.xml
的目录并使用:mvn 包
完成第 2 步后,导航到
target
目录,您会在其中找到生成的MyWebApp.war
。Copy-paste
MyWebApp.war
到 tomcatwebapps
目录并启动 tomcat 服务器(./startup.sh
).如您所见,我们现在可以访问 URL
http://localhost:8080/MyWebApp/
.
供您参考 -
index.jsp:
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mywebapp.www</groupId>
<artifactId>MyWebApp</artifactId>
<packaging>war</packaging>
<version>1</version>
<name>MyWebApp Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>MyWebApp</finalName>
</build>
</project>
希望对您有所帮助。
在pom.xml中,添加以下行
<packaging>war</packaging> // Replace <packaging>jar</packaging> if jar packaging already present
然后进入项目的父目录,进入mvn package
。 war 文件将在
/parent_directory/target/myproject.war
如果您想以 http://localhost:8080
而不是 http://localhost:8080/myproject
的身份访问您的项目,请将 myproject.war
重命名为 ROOT.war
并将 war 文件粘贴到tomcat 目录。