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)    收藏  举报

导航