Maven项目部署到Linux服务器

上一次用linux服务器还是半年前,那次是非maven的项目。记得大概流程是把项目所需要的jar包,还有项目生成的target下的class文件上传到服务器,然后用一个sh文件运行。

1
2
3
4
5
6
7
APP_HOME=/root/autocrawler
for i in "$APP_HOME"/lib/*.jar
do
CLASSPATH="$CLASSPATH":"$i"
done
export CLASSPATH=.:$CLASSPATH
nohup java -Xms50m -Xmx250m spider.test.WebCrawlerFinalTest &

现在换成了Maven的工程因为项目所需要的jar包被maven管理,所以一时还手忙脚乱不知道怎么做好。好不容易成功了,现在总结下免得下次再用的时候忘记了。

这次用到的东西。

首先在pom文件中加入build标签

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<build>
<sourceDirectory>src/main/java</sourceDirectory>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.9</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.hou.guanggu.Infosource.checkWebsite.AnalyseLogScheduler</mainClass>
这里写主函数的位置..
</manifest>
</archive>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
</resource>
</resources>
</build>

最好加个

1
2
3
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

还有远程服务器的位置

1
2
3
4
5
6
7
8
9
10
11
12
13
<repositories>
<repository>
<id>nexus</id>
<name>Team Nexus Repository</name>
<url>XXX</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>

然后就是Maven的打包了。
用到mvn clean package,把生成的jar包拖到服务器上面去。然后用下面的命令输出所需的依赖,再把依赖传到服务器上面。

1
mvn dependency:copy-dependencies -DoutputDirectory=lib/

写一个简单的sh文件。大功告成。

1
nohup java -jar Infosource-0.0.1-SNAPSHOT.jar &

路漫漫其修远兮..

2016年1月25日17:21:44