Java Restful - Tomcat Jersey Maven
1. /etc/profile
export TOMCAT_HOME=/opt/tomcat7
export HADOOP_HOME=/opt/hadoop-2.8.0
export JAVA_HOME=/opt/jdk1.8.0_111
export JRE_HOME=/opt/jre1.8.0_111
export CLASSPATH=${JAVA_HOME}/lib:${JRE_HOME}/lib:/opt/hadoop-2.8.0/etc/hadoop:/opt/hadoop-2.8.0/share/hadoop/common/lib/*:/opt/hadoop-2.8.0/share/hadoop/common/*:/opt/hadoop-2.8.0/share/hadoop/hdfs:/opt/hadoop-2.8.0/share/hadoop/hdfs/lib/*:/opt/hadoop-2.8.0/share/hadoop/hdfs/*:/opt/hadoop-2.8.0/share/hadoop/yarn/lib/*:/opt/hadoop-2.8.0/share/hadoop/yarn/*:/opt/hadoop-2.8.0/share/hadoop/mapreduce/lib/*:/opt/hadoop-2.8.0/share/hadoop/mapreduce/*:/opt/hadoop-2.8.0/contrib/capacity-scheduler/*.jar:/home/frank/workspace/eclipse/aws-1.11.195/lib/*.jar:/home/frank/workspace/eclipse/aws-1.11.195/third-party/lib/*.jar
PATH=$GOHOME/bin:/opt/mongodb/bin:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$TOMCAT_HOME/bin:$PATH
export PATH
2. /etc/maven/setting.xml
<server>
<id>tomcat7</id>
<username>frank</username>
<password>tomcat7</password>
</server>
2. /home/frank/.m2/setting.xml
<server>
<id>tomcat7</id>
<username>frank</username>
<password>tomcat7</password>
</server>
2. /opt/tomcat7/conf/tomcat-users.xml
<tomcat-users>
<user username="admin" password="tomcat7" roles="admin-gui,manager-gui" />
<user username="frank" password="tomcat7" roles="admin-script,manager-script" />
</tomcat-users>
如果是通过apt-get install tomcat7安装的tomcat7, 那么如上修改/etc/tomcat7/tomcat-users.xml文件。
3. 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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.appmagics</groupId>
<artifactId>hello</artifactId>
<version>1.0</version>
<packaging>war</packaging>
<repositories>
<repository>
<id>maven2-repository.java.net</id>
<name>Java.net Repository for Maven</name>
<url>http://download.java.net/maven/2/</url>
<layout>default</layout>
</repository>
</repositories>
<properties>
<jersey2.version>2.19</jersey2.version>
<jaxrs.version>2.0.1</jaxrs.version>
</properties>
<dependencies>
<!-- JAX-RS -->
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>${jaxrs.version}</version>
</dependency>
<!-- Jersey 2.19 -->
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
<version>${jersey2.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
<version>${jersey2.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>${jersey2.version}</version>
</dependency>
</dependencies>
<build>
<finalName>hello</finalName>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://localhost:8080/manager/text</url>
<server>tomcat7</server>
<username>frank</username>
<password>tomcat7</password>
<update>true</update>
<path>/${project.build.finalName}</path>
</configuration>
</plugin>
</plugins>
</build>
</project>
4. web.xml
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Hello World Web Application</display-name>
<servlet>
<servlet-name>Jersey Rest Service</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>jersey.config.server.provider.packages</param-name>
<param-value>org.appmagics</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey Rest Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
5. build and deploy
5.1 start tomcat
cd /opt/tomcat7/bin
startup.sh
Using CATALINA_BASE: /opt/tomcat7
Using CATALINA_HOME: /opt/tomcat7
Using CATALINA_TMPDIR: /opt/tomcat7/temp
Using JRE_HOME: /opt/jre1.8.0_111
Using CLASSPATH: /opt/tomcat7/bin/bootstrap.jar:/opt/tomcat7/bin/tomcat-juli.jar
Tomcat started.
5.2 mvn create project
mvn archetype:generate -DgroupId=org.appmagics -DartifactId=hello -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
mvn archetype:generate -DgroupId={project-packaging} -DartifactId={project-name} -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false
mvn archetype:generate
5.3 compile project and deploy
mvn clean package tomcat7:deploy
[INFO] Packaging webapp
[INFO] Assembling webapp [hello] in [/home/frank/workspace/rest/hello/target/hello]
[INFO] Processing war project
[INFO] Copying webapp resources [/home/frank/workspace/rest/hello/src/main/webapp]
[INFO] Webapp assembled in [11 msecs]
[INFO] Building war: /home/frank/workspace/rest/hello/target/hello.war
[INFO] WEB-INF/web.xml already added, skipping
[INFO]
[INFO] <<< tomcat7-maven-plugin:2.2:deploy (default-cli) < package @ hello <<<
[INFO]
[INFO] --- tomcat7-maven-plugin:2.2:deploy (default-cli) @ hello ---
[INFO] Deploying war to http://localhost:8080/hello
Uploading: http://localhost:8080/manager/text/deploy?path=%2Fhello&update=true
Uploaded: http://localhost:8080/manager/text/deploy?path=%2Fhello&update=true (3666 KB at 74799.0 KB/sec)
[INFO] tomcatManager status code:200, ReasonPhrase:OK
[INFO] OK - Deployed application at context path /hello
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.534 s
[INFO] Finished at: 2017-09-21T23:52:59-07:00
[INFO] Final Memory: 27M/290M
[INFO] ------------------------------------------------------------------------
5.4 check
http://192.168.135.43:8080/hello/rest/jersey
Hello World !! - Jersey 2
6. management
http://localhost:8080/manager/html
posted on 2017-09-22 14:54 fanbird2008 阅读(86) 评论(0) 收藏 举报
浙公网安备 33010602011771号