当前位置: 首页 > news >正文

课程的网站建设精准营销的案例

课程的网站建设,精准营销的案例,手机影视网站开发,大数据营销优缺点实验课的作业用一大堆框架/库,统统要用maven管理。 头一次用,真痛苦。 所幸得以解决,maven真香~ 一步一步来。 1. maven 不是java人,只能说说粗浅的理解了。 简单来说,maven是一个管理项目的工具&…

实验课的作业用一大堆框架/库,统统要用maven管理。

头一次用,真痛苦。

所幸得以解决,maven真香~

一步一步来。

1. maven

不是java人,只能说说粗浅的理解了。

简单来说,maven是一个管理项目的工具,可以帮助我们下载依赖、构建项目、打包、测试。

然而,需要编写恶心的pom.xml来实现。

IDEA自带的有maven,但是我们需要命令行,仅仅用IDEA的maven,不好理解。

所以第一步就是先下载并配置maven。

下载配置maven

linux人,直接apt install maven结束。

windows,官网下载,配配环境变量就OK了,在IDEA的设置里写上你的maven可执行文件路径。

在这里插入图片描述

下来,还需要换镜像,linux在/etc/maven/setting.xml里,windows下载的包里搜一下也出来了,

<mirrors> ... <mirros>中间放上阿里的镜像站:

 <mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>阿里云公共仓库</name><url>https://maven.aliyun.com/repository/public</url></mirror>

这份文件写满了注释,有其他需要可以自己看一下,比如设置仓库路径:

<localRepository>/path/to/local/repo</localRepository>

默认仓库路径是{用户目录}/.m2/repository

这一步配好后,你的命令行应该有mvn命令。
可以mvn --help测试一下。
在这里插入图片描述

2. 最小化pom.xml

为了方便理解,建议命令行操作。

假设我们的项目结构是下面这样:
在这里插入图片描述

包名为top.hello,主类Hello.java的内容如下 :

package top.hello;
public class Hello{public String sayHello(String name){return "Hello "+name + "!";}public static void main(String []args){System.out.println("Hello world");}
}

按理来说,下面的就够了:

<?xml version="1.0"?>
<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>top.hello</groupId><artifactId>Hello</artifactId><version>0.0.1-SNAPSHOT</version></project>

很简单,前面的乱七八糟的链接就不要记了,让插件/IDE生成,官网也有。
pom.xml同级目录下执行mvn compile来编译,它会报错:

$ mvn compile
...
ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] 不再支持源选项 5。请使用 7 或更高版本。
[ERROR] 不再支持目标选项 5。请使用 7 或更高版本。
[INFO] 2 errors 
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  0.747 s
[INFO] Finished at: 2023-04-25T15:38:10+08:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project Hello: Compilation failure: Compilation failure: 
[ERROR] 不再支持源选项 5。请使用 7 或更高版本。
[ERROR] 不再支持目标选项 5。请使用 7 或更高版本。...

浅搜了一下,说是maven默认的jdk版本太低,此时注意到了IDEA自动生成的pom.xml会有这么一段:

    <properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties>

OK,把这段加到<project></project>下就可以了,看起来意思是用jdk17。

所以真正可用的maven配置如下:

<?xml version="1.0"?>
<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>top.hello</groupId><artifactId>Hello</artifactId><version>0.0.1-SNAPSHOT</version><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties></project>

还有个<name>Hello</name>,多了少了貌似都没影响。

运行mvn compile,就会生成一个target目录,用命令行运行一下。

在这里插入图片描述

3. 可用的pom.xml

上面的已经是可以用的了,但是用起来并不方便。

在IDEA里面直接点构建会报错,也无法运行。

3.1 默认行为

<project>下添加:

<build><defaultGoal>package</defaultGoal>
</build>

这样默认构建,比如命令行输入mvn,或者IDEA里点构建,就会执行mvn package,会生成jar包。

也可以改成 <defaultGoal>compile</defaultGoal>,默认行为是编译。

3.2 mvn package

mvn package打包成jar,java -jar XXX.jar运行时会报错,找不到MANIFEST什么的,可以手动解包写一份配置文件再打包进去。

也可以在maven中设置:

<plugins><plugin><!-- Build an executable JAR --><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><version>3.1.0</version><configuration><archive><manifest><addClasspath>true</addClasspath><classpathPrefix>lib/</classpathPrefix><mainClass>top.hello.Hello</mainClass></manifest></archive></configuration></plugin>
</plugins>

3.3 引入库

如果你需要引入库,在<project>下添加:

    <dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.0</version><scope>test</scope></dependency></dependencies>

更多的库,在<dependencies>里加更多个<denpendency>并填好就行了。

最终就变成这样:

<?xml version="1.0"?>
<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>top.hello</groupId><artifactId>Hello</artifactId><version>0.0.1-SNAPSHOT</version><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><name>Hello</name><build><defaultGoal>package</defaultGoal><plugins><plugin><!-- Build an executable JAR --><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><version>3.1.0</version><configuration><archive><manifest><addClasspath>true</addClasspath><classpathPrefix>lib/</classpathPrefix><mainClass>top.hello.Hello</mainClass></manifest></archive></configuration></plugin></plugins></build><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.0</version><scope>test</scope></dependency></dependencies></project>

打包依赖

用的spring,打包的jar运行时报错,找不到spring-context。
需要打包依赖。

在build里加上下面的:

<plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><version>2.10</version><executions><execution><id>copy-dependencies</id><phase>package</phase><goals><goal>copy-dependencies</goal></goals><configuration><outputDirectory>${project.build.directory}/lib</outputDirectory></configuration></execution></executions></plugin>
</plugins>

然后整个build 就像下面的:

 <build><defaultGoal>package</defaultGoal><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><version>2.10</version><executions><execution><id>copy-dependencies</id><phase>package</phase><goals><goal>copy-dependencies</goal></goals><configuration><outputDirectory>${project.build.directory}/lib</outputDirectory></configuration></execution></executions></plugin><plugin><!-- Build an executable JAR --><groupId>org.apache.maven.plugins</groupId><artifactId>maven-jar-plugin</artifactId><version>3.1.0</version><configuration><archive><manifest><addClasspath>true</addClasspath><classpathPrefix>lib/</classpathPrefix><mainClass>top.hello.TestHelloSpring</mainClass></manifest></archive></configuration></plugin></plugins></build>

这样打包完之后,依赖在lib里,运行时:java -jar demo*.jar -classpath lib即可。

参考博客

Maven 最全教程,看了必懂
Maven打包所有依赖到一个可执行jar中

http://www.ritt.cn/news/7488.html

相关文章:

  • 成都网站建设报价广东seo网站优化公司
  • 网站建设如何包含数据库免费网站收录网站推广
  • 网站开发运营产品经理招聘金蝶进销存免费版
  • 垫江做网站最新seo教程
  • 网站制作模板免费下载app优化建议
  • 网站建设战略app推广接单渠道
  • 小清新网站源码seo排名优化培训怎样
  • 做外贸的如何上国外网站百度客服号码
  • tomcat做网站并发交换链接
  • 网站后期技术维护甘肃省seo关键词优化
  • 兼容ie8的网站模板上海网络优化服务
  • 怎样做自己的公司网站南京网站快速排名提升
  • 做网站用百度百科的资料会侵权吗无需下载直接进入的网站的代码
  • 哪个网站做演唱会门票google浏览器网页版
  • 中国建设委员会网站上查询优化大师客服电话
  • wordpress ppt office北京优化seo
  • 建设审批网站查询百度查询
  • 模仿做网站今日新闻最新事件
  • vps网站管理助手下载旺道seo优化软件怎么用
  • 泉州企业网站开发什么软件比百度搜索好
  • 网站违法和做网站得有关系北京网站搭建哪家好
  • wordpress页面不显示子类app优化
  • 外贸网站后台app推广引流方法
  • 南通模板建站多少钱关键词包括哪些内容
  • 厦门 网站建设 网站开发 未来网络推广一般收多少钱
  • 上海网站制作企业网站推广优化
  • 平顶山车祸最新新闻事件上海快速优化排名
  • asp 制作网站开发网站制作开发
  • 山东网络推广图片网络优化排名培训
  • 二手车网站建设百度搜索风云榜明星