`
ariestiger
  • 浏览: 11099 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

maven备忘

阅读更多

折腾了一下午,终于在maven下搞出一个可直接执行的jar

mvn install只是把项目打成一个jar包,发布到本地的 maven库里, 生成的东西不能直接运行

要运行,在pom.xml中添加下面的配置

<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
					<encoding>UTF-8</encoding>
				</configuration>
			</plugin>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-jar-plugin</artifactId>
				<configuration>
					<archive>
						<manifest>
							<addClasspath>true</addClasspath>
							<mainClass>com.yunling.mediacenter.server.AuthServer</mainClass>
						</manifest>
					</archive>
				</configuration>
			</plugin>
			<plugin>
				<artifactId>maven-assembly-plugin</artifactId>
				<configuration>
					<descriptorRefs>
						<descriptorRef>jar-with-dependencies</descriptorRef>
					</descriptorRefs>
					<archive>
						<manifest>
							<addClasspath>true</addClasspath>
							<mainClass>com.yunling.mediacenter.server.AuthServer</mainClass>
						</manifest>
					</archive>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-resources-plugin</artifactId>
				<version>2.3</version>
				<executions>
					<execution>
						<id>copy-resources</id>
						<phase>package</phase>
						<goals>
							<goal>copy-resources</goal>
						</goals>
						<configuration>
							<encoding>UTF-8</encoding>
							<outputDirectory>${project.build.directory}/conf
							</outputDirectory>
							<resources>
								<resource>
									<directory>conf</directory>
									<!--
										includes> <include>config.xml</include>
										<include>log4j.xml</include> </includes>
										<filtering>true</filtering
									-->
								</resource>
							</resources>
						</configuration>
					</execution>
				</executions>
			</plugin>

		</plugins>
	</build>
 

第一个plugin是原来就有的,设置一下编译时的编码

第二个plugin是设置一下打jar包时可执行的主类

第三个plugin是在打包时把依赖也打进去, 在主类的设置上跟上一个有重复, 有一个就可以了

第四人plugin是因为我的项目中有几个配置文件, 放在跟src平行的conf文件夹里,在打包时拷到target文件夹下去, 但还是没有一起打到jar包里去, 后面再找一下, 看怎么把配置文件也打进去

这样之后, 在项目文件夹下mvn assembly:assembly就可以在target 下面生成一个不带依赖的 jar和一个带依赖的 jar了, conf和里面的配置文件也拷到target下面了

再然后, cd target

java -jar xxxxxxxxxxxxxx.jar就行了(这里的jar 是那个带依赖的jar )

 

maven的生命周期, 有空再看, 应该也就是之间的依赖的问题, 应该不难处理。

分享到:
评论

相关推荐

    tomcat,jdk,maven环境变量配置(备忘)

    标题 "Tomcat, JDK, Maven 环境变量配置(备忘)" 提示我们这篇内容主要涉及的是Java开发中的三个重要组件的环境配置:Tomcat(一个流行的Java应用服务器),JDK(Java Development Kit,Java开发工具包)和Maven(一...

    coms10017:UoB coms10009实验室常见问题解答和一些常规信息

    COMS10017 该存储库包含注释,以及有关各种主题的详细讨论,例如和 。 实用材料(0%) : 2月- 2月1日 2月至8月8日 2月至19日 2月至22日 3月17日- 3月1日阅读周 3月至8月8日 ...Maven - Maven备忘单

    毕业设计基于JavaWeb实现的一个备忘录系统项目源码.zip

    后端基于Maven构建,采用Jdbc完成数据持久化操作。代码分层编写,分为Controller控制器层,Service业务逻辑层,dao持久化层,以及相对应的工具类。 前端直接采用Layui框架编写,ajax请求后端接口,进而完成页面渲染...

    cms项目-maven项目搭建

    此文档主要描述一个maven项目的搭建过程,没有理论的东西,只有实战。写文档的目的只是作为一个项目搭建的备忘录(记性差,怕忘了),也为有需要的同行提供一个参考,以方便快速搭建自己的maven项目。

    备忘录日程管理java代码

    - **Maven或Gradle**:这些构建工具可以帮助自动化构建过程,管理依赖,以及生成可执行的JAR文件。 10. **设计模式**: - **MVC(Model-View-Controller)**:备忘录和日程管理应用可能采用MVC设计模式,分离业务...

    s2sh框架实例——个人备忘录系统源码

    9. **Maven或Gradle构建工具**:这些工具用于管理和构建项目,依赖管理和构建自动化使得开发流程更加高效。 10. **文档**:附带的说明文档可能涵盖了系统的设计、实现细节、安装步骤和使用指南,这对于初学者理解...

    Android 项目源码-备忘录(附源码).zip

    2. **Maven或Gradle构建系统**:项目很可能使用Gradle作为构建工具,它是Android Studio默认的构建系统,用于编译、打包和管理依赖。 3. **Java编程语言**:由于标签中提到了“java源码”,所以项目主要使用Java...

    java备忘录

    在开发过程中,开发者可能使用了如Maven或Gradle这样的构建工具来管理依赖和构建流程,这些工具可以帮助自动化编译、测试和打包过程。对于调试和测试,可能还使用了Eclipse、IntelliJ IDEA等IDE,它们提供了丰富的...

    BeiWangLu.zip_java_onced88_备忘录

    如果"BeiWangLu"是一个Java项目,那么它可能包含了源代码文件(如.java)、资源文件(如图片、音频或配置文件)、编译后的类文件(如.class)以及可能的构建脚本(如Maven的pom.xml或Gradle的build.gradle)。...

    mavenweb.iml

    学习crm的javaweb项目文章由B站动力节点相关课程视频整理而成,不作为基础入门教程,只作为备忘的学习笔记。

    开发人员备忘清单:旨在为开发人员提供快速参考备忘清单,以供他们在开发过程中查阅

    版本控制、调试技巧、代码格式化和自动化构建工具(如Gradle、Maven)的使用,都能显著提高开发效率。 测试方面,JUnit、pytest等单元测试框架的用法,以及Selenium、Appium等自动化测试工具的配置和脚本编写,都是...

    Java项目: 基于SpringBoot+mybatis+maven+vue个人理财管理系统(含源码+数据库+毕业论文)

    后端:spring+springboot+mybatis+maven+mysql 前端: vue , css,js , elementui 三、系统功能 1、系统角色主要包括:管理员、用户 2、系统功能 后台主要功能包括: 用户登录 用户注册 首页 个人中心 修改密码 ...

    MB备忘----2

    而“工具”则可能包括版本控制工具(如Git)、构建工具(如Maven)、集成开发环境(IDE,如Eclipse或Visual Studio Code)或者测试工具等,这些工具在软件开发过程中起着至关重要的作用。 【压缩包子文件的文件名称...

    临时备忘录

    4. **开发工具**:在软件开发过程中,开发者会使用各种工具,如IDE(如IntelliJ IDEA、Eclipse)、版本控制系统(如Git)、构建工具(如Maven、Gradle)、持续集成/持续部署(CI/CD)工具(如Jenkins)等。这些工具...

    CI持续集成服务器 hudson 使用备忘1

    《CI持续集成服务器Hudson使用备忘》 在软件开发过程中,持续集成(Continuous Integration,简称CI)是一种实践,它强调开发人员频繁地将他们的代码更改合并到共享存储库中,并且每次合并后都会立即进行自动化构建...

    备忘录.rar

    资源内容:项目全套源码+完整文档 源码说明: 全部项目源码都是经过测试校正后百分百成功运行。 SpringBoot 毕业设计,SpringBoot 课程设计,基于...部署环境:Tomcat(建议用 7.x 或者 8.x b版本),maven 

    Linux速查备忘手册.pdf

    在Linux环境下,Java开发人员可以利用丰富的开发工具和库,如Eclipse、IntelliJ IDEA、Maven等,来提高开发效率和质量。 最后,手册还涉及了一些编程基础知识,比如C/C++的深入学习、数据结构和算法的学习资源、...

Global site tag (gtag.js) - Google Analytics