建立java Maven helloworld 工程并部署到ubuntu服务器

编译环境

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

  1. maven-archetype-quickstart
      默认的Archetype,基本内容包括:
      一个包含junit依赖声明的pom.xml
      src/main/java主代码目录及一个名为App的类
      src/test/java测试代码目录及一个名为AppTest的测试用例
  2. 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文件

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值