编译环境
jdk1.8
如果没有装,就上官网(https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html)下载一个exe安装文件,点击安装即可。
IDEA
新建一个工程
这里就要选择Archetype了,详请见附件。这里选择 maven-archetype-quickstart。
运行
如下,点击绿三角即可顺利运行。
打包
如下,点击package即可生成可以ubuntu上运行的文件。
但是测试运行时遇到了问题:没有主清单属性。
解决方法:
在maven的pom文件中,找到 maven-jar-plugin 的插件
在里面填入:
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<!-- 使打包的jar文件包含了主函数的入口 -->
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<!-- 此处为程序主入口 -->
<mainClass>org.example.App</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
再次打包,再运行就没有问题啦。再次运行结果如下:
安装ubuntu服务器上的运行环境
1.下载 jdk1.8
如果没有装,就上官网(https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html)下载压缩文件。
2.安装
1.先解压,命令如下:
mkdir jdk-8u281-linux-x64
tar -zxvf jdk-8u281-linux-x64.tar.gz -C jdk-8u281-linux-x64/
可以先不加入环境变量里,若要运行,直接使用绝对路径命令运行就行。
3.验证运行
输入命令后运行如下:
可能会遇到问题:运行命令 ./java --version 时提示 -bash: ./java: No such file or directory
解决方法:版本下载错了,本机是64位的系统,下载错了,下成了32位的版本。
为了方便使用,要加入环境变量,加环境变量方法见本人的其它文章(https://blog.csdn.net/zhuohui307317684/article/details/113904221)。
helloworld程序在ubuntu上运行如下:
附件1:maven项目的Archetype常用选择
参考:https://blog.csdn.net/qq_41622739/article/details/92085592
maven提供的模板:
1:appfuse-basic-jsf (创建一个基于Hibernate,Spring和JSF的Web应用程序的原型)
2: appfuse-basic-spring(创建一个基于Hibernate,Spring和Spring MVC的Web应用程序的原型)
3: appfuse-basic-struts(创建一个基于Hibernate,Spring和Struts 2的Web应用程序的原型)
4: appfuse-basic-tapestry(创建一个基于Hibernate,Spring 和 Tapestry 4的Web应用程序的原型)
5: appfuse-core(创建一个基于Hibernate,Spring 和 XFire的jar应用程序的原型)
6: appfuse-modular-jsf(创建一个基于Hibernate,Spring和JSF的模块化应用原型)
7: appfuse-modular-spring(创建一个基于Hibernate, Spring 和 Spring MVC 的模块化应用原型)
8: appfuse-modular-struts(创建一个基于Hibernate, Spring 和 Struts 2 的模块化应用原型)
9: appfuse-modular-tapestry (创建一个基于 Hibernate, Spring 和 Tapestry 4 的模块化应用原型)
10: maven-archetype-j2ee-simple(一个简单的J2EE的Java应用程序)
11: maven-archetype-marmalade-mojo(一个Maven的 插件开发项目 using marmalade)
12: maven-archetype-mojo(一个Maven的Java插件开发项目)
13: maven-archetype-portlet(一个简单的portlet应用程序)
14: maven-archetype-profiles()
15:maven-archetype-quickstart()
16: maven-archetype-site-simple(简单的网站生成项目)
17: maven-archetype-site(更复杂的网站项目)
18:maven-archetype-webapp(一个简单的Java Web应用程序)
19: jini-service-archetype(Archetype for Jini service project creation)
20: softeu-archetype-seam(JSF+Facelets+Seam Archetype)
21: softeu-archetype-seam-simple(JSF+Facelets+Seam (无残留) 原型)
22: softeu-archetype-jsf(JSF+Facelets 原型)
23: jpa-maven-archetype(JPA 应用程序)
24: spring-osgi-bundle-archetype(Spring-OSGi 原型)
25: confluence-plugin-archetype(Atlassian 聚合插件原型)
26: jira-plugin-archetype(Atlassian JIRA 插件原型)
27: maven-archetype-har(Hibernate 存档)
28: maven-archetype-sar(JBoss 服务存档)
29: wicket-archetype-quickstart(一个简单的Apache Wicket的项目)
30: scala-archetype-simple(一个简单的scala的项目)
31: lift-archetype-blank(一个 blank/empty liftweb 项目)
32: lift-archetype-basic(基本(liftweb)项目)
33: cocoon-22-archetype-block-plain([http://cocoapacorg2/maven-plugins/])
34: cocoon-22-archetype-block([http://cocoapacorg2/maven-plugins/])
35:cocoon-22-archetype-webapp([http://cocoapacorg2/maven-plugins/])
36: myfaces-archetype-helloworld(使用MyFaces的一个简单的原型)
37: myfaces-archetype-helloworld-facelets(一个使用MyFaces和Facelets的简单原型)
38: myfaces-archetype-trinidad(一个使用MyFaces和Trinidad的简单原型)
39: myfaces-archetype-jsfcomponents(一种使用MyFaces创建定制JSF组件的简单的原型)
40: gmaven-archetype-basic(Groovy的基本原型)
41: gmaven-archetype-mojo(Groovy mojo 原型)
常用Archetype
- maven-archetype-quickstart
默认的Archetype,基本内容包括:
一个包含junit依赖声明的pom.xml
src/main/java主代码目录及一个名为App的类
src/test/java测试代码目录及一个名为AppTest的测试用例 - maven-archetype-webapp
一个最简单的Maven war项目模板,当需要快速创建一个Web应用的时候可以使用它。生成的项目内容包括:
一个packaging为war且带有junit依赖声明的pom.xml
src/main/webapp/目录
src/main/webapp/index.jsp文件
src/main/webapp/WEB-INF/web.xml文件