【轉】Maven

 

第一章 介绍

Maven2 是一种项目管理框架,能够简化项目的开发,形成统一的规范,节省操作时间。

Maven2 是规范的开发流程、软件开发的约定、项目管理框架、构建工具。

Maven2 对项目进行了抽象,用 POM 描述。

Maven2 能够提供一致性、过程重用、敏捷性、可维护性。

1. Maven2 的原则:

1.1 配置管理的约定

项目目录的标准结构:利用维护人员的知识重用,节省时间

一个项目单个输出:利于模块化,利于按模块重用,当个目标输出,利用依赖管理来解决模块间的关联关系

命名约定:利于维护,输出一般为 <artifactId>-<version>.<extension>

1.2 构建逻辑重用

过程的执行均由 plug-in 进行,某个阶段对应一个 plug-in

1.3 根据声明执行

过程的执行通过在 POM 中的声明进行

1.4 一致的依赖管理

在 POM 中定义项目依赖。

对构建物的引用即为依赖, Maven 根据 POM 中定义的依赖从 respository 中查找依赖。 Respository 分为 local 和 remote ,先查找 local 再查找 remote 。在依赖定义中的 <groupId><artifactId><version><extension> 与查找依赖项的关系: maven 会在 respository 的 groupId/ artifactId/ version 目录中查找名为 <artifactId>-<version>.<extension> 的构建物。如果 groupId 为 com.x..y.z ,则按照 java 包管理的方式对依赖项所在目录进行管理。

所有的项目,只要是依赖同一个构建物只在 respository 保存一份,并非按项目放在 lib 目录下。

 

第二章 安装与使用

1. 安装与配置

1.1 安装

a.      从网站下载 Maven2 ,解压即可

b.      在环境变量中添加 M2_HOME 指向解压后的目录

c.      在 PATH 中添加 $M2_HOME/bin

d.      在环境变量中添加 JAVA_HOME 指向 JDK 安装目录

e.      在命令行运行 mvn –-version 检查安装是否成功

1.2 配置

a.      命令行下运行 mvn install 或 mvn compile ,会在用户的 home 目录下生成 .m2

b.      在 .m2 目录下新建文件 settings.xml 添加如下内容

<settings>

  <localRepository>D:\maven2_respository</localRepository> 

  <proxies>

   <proxy>

      <active>true</active>

      <protocol>http</protocol>

      <host>22.11.129.77</host>

      <port>8080</port>

      <username>lrs0669</username>

      <password>password01:</password>

      <nonProxyHosts>www.google.com|*.somewhere.com</nonProxyHosts>

    </proxy>

    <proxy>

      <active>true</active>

      <protocol>http</protocol>

      <host>22.1.227.85</host>

      <port>808</port>

      <username></username>

      <password></password>

      <nonProxyHosts>www.google.com|*.somewhere.com</nonProxyHosts>

    </proxy>

  </proxies>

</settings>

u        l ocalRepository 定义 local repository, 下载 jar 包所放的路径和执行项目的 install 命令所生成的构建输出放在 localRepository 中

u        如果通过代理服务器访问 remote respository ,代理服务器信息在 proxy 中定义,可以定 义多个

c.      在命令行下执行各个命令, maven2 会根据需要从互联网上下载所需要的 jar 包

2. 创建第一个 Maven 项目

使用 Maven 的原型机制创建一个项目, Maven 根据模版项目新建项目,原型项目包含了一个项目涉及到的所有方面。

mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app

u        com.mycompany.app 为公司的开发的包结构前缀

u        my-app 为项目名称

3. Maven 命令

编译源代码 : 编译 src/main/java 下的源代码,将产生的 class 文件放在 target/classes

#mvn compile

 

编译单元测试:编译单元测试代码

#mvn test-compile

 

执行单元测试:

#mvn test

包括文件

  **/*Test.java

  **/Test*.java

  **/*TestCase.java

排除文件

  **/Abstract*Test.java

  **/Abstract*TestCase.java

 

打包:根据 pom.xml 的配置生成构建物

#mvn package

 

安装:执行构建,将输出物安装到 local respository 中,以便其他项目可以引用

#mvn install

 

清理:

#mvn clean

 

生成 eclipse 项目

#mvn elipse:eclipse

 

生成 IntelliJ IDEA 项目

#mvn idea:idea

 

生成项目网站

#mvn site

 

处理资源

#mvn process-resources

 

4. 处理资源

可以将资源打包到 jar 文件中 , 只需要在 src/main/resources 下放至需要打包的资源即可,建立相应的目录结构,资源会按照其在 resources 下的相对目录被打包到 jar 的根目录下。

Pom.xml 会打包到 jar 文件中,因此所有 Maven 项目都是自描述的,可以用 maven utils 来写 pom.xml ,对于读取则使用 java 的标准 api 读取 jar 包中的资源即可。

对于单元测试需要的资源处理方式类似,其对应目录为 src/test/resources 。可以使用如下方式读取资源文件 :

[...]

// Retrieve resource

InputStream is = getClass().getResourceAsStream( "/test.properties" );

// Do something with the resource

[...]

5. 对资源的过滤处理

有时资源文件中的某些值只有在构建时才能知道具体是什么值,比如 application.properties 中有变量 version ,则可以在其中如下定义

name=${project.name}

version=${project.version}

maven 会根据变量名在 pom.xml 中取相应的值,可通过 xml 元素的名来引用 pom.xml 中的值。

为使用这种过滤处理机制,需要在资源文件中以变量方式 ${property} 引用pom.xml ,用户的settings.xml 或者外部属性文件,系统属性中定义的变量。其次需要在pom.xml 中覆盖原来关于资源的默认定义,如下:

  <build>

  <resources>

  <resource>

  <directory>src/main/resources</directory>

  <filtering>true</filtering>

  </resource>

  </resources>

  </build>

可以使用命令:

#mvn process-resources

来对资源进行处理和过滤。执行这个命令后,资源会被复制到 target/classes 目录下,且进行了资源的过滤。

 

为使用定义在外部文件中的变量,可以按照如下的方式进行:

创建一个 properties 文件,如在 src/main/filters 下创建文件 filter.properties, 在其中定义变量 external.property=hello, i am from external file.

在 pom.xml 中增加对此文件的引用 :

  <build>

  <filters>

  <filter>src/main/filters/filter.properties</filter>

  </filters>

  <resources>

  <resource>

  <directory>src/main/resources</directory>

  <filtering>true</filtering>

  </resource>

  </resources>

  </build>

在 application.properties 加入对变量的引用:

external=${external.property}

 

如果不在外部属性文件中定义变量,可以在 pom.xml 的 properties 节定义变量。

在 pom.xml 中添加 :

  <properties>

  <pom.property.welcome>

  You're welcome!

  </pom.property.welcome>

  </properties>

在 application.properties 加入对变量的引用:

pom.property=${pom.property.welcome}

 

maven 可以引用系统属性中定义的变量,包括 java 的系统属性或者命令行中用 -D 指定的 java 属性参数。

在 application.properties 加入对变量的引用:

java.version=${java.version}

command.line.pro=${command.line.pro}

在命令行执行:

#mvn process-resources "-Dcommand.line.pro=hello from command line"

 

6. 阻止过滤处理非文本文件

可能在资源目录中包含了图片等二进制文件,在过滤资源处理时需要将其派除在外,需要在过滤声明中包含 exclusion 排除相应资源,此外还需要增加一条不需要过滤处理的资源声明:

<project>

[...]

<build>

<resources>

<resource>

<directory>src/main/resources</directory>

<filtering>true</filtering>

<excludes>

<exclude>images/**</exclude>

</excludes>

</resource>

<resource>

<directory>src/main/resources</directory>

<includes>

<include>images/**</include>

</includes>

</resource>

</resources>

</build>

[...]

</project>

 

7. 使用 Maven Plus-In

可以使用 plus-in ,为使编译器允许 JDK5.0 源码,可以在 pom.xml 中加入:

<project>

[...]

<build>

<plugins>

<plugin>

<groupId>org.apache.maven.plugins</groupId>

<artifactId>maven-compiler-plugin</artifactId>

<version>2.0</version>

<configuration>

<source>1.5</source>

<target>1.5</target>

</configuration>

</plugin>

</plugins>

</build>

[...]

</project>

可以注意到 plugin 和 dependency 非常类似,处理方式也类似,如果在本地没有则需要下载,如果本地有就直接使用。为了说明两者之间的相似性,在上例中明确给出了 groupId 和 version ,但多数情况下并不需要。 groupId 默认会是 org.apache.maven.plugins 或者 org.codehaus.mojo 。如果不指定 version ,则会选择最新的版本。

为了解 plugin 的配置选项,可以使用命令:

#mvn help:describe –DgroupId=? -DartifactId=? 来查询,如

mvn help:describe -DgroupId=org.apache.maven.plugins -DartifactId=maven-compiler-plugin -Dfull=true

可以访问 http://maven.apache.org/plugins/ 来查询可用的 plugins 。

 


第三章 使用 Maven 创建应用

1 .介绍

通过一个项目 Proficio 来了解 Maven 的最佳实践、高级使用及 faq 。

2 .创建应用目录结构

为了重用,根据高聚合低耦合的方式按方面分解应用。

如下是应用的目录结构:

Proficio API: 应用的编程接口。

Proficio CLI :提供命令行接口的代码。

Proficio Core: 应用编程接口的实现。

Proficio Model: 应用的数据结构,包含需要的所有类。

Proficio Stores: 放置所有 store 模块,该应用包含 memory-based store 和 XStream-based store 。

Maven 使用默认的命名规则,你可以按照项目决定如何命名,唯一需要注意的就是项目成员能够轻易而一致的理解。

 

检查顶层的 pom ,可以看到应用 Proficio 的子模块,每个模块都是对一个 maven 工程的引用,对应一个 pom 。这种配置就是多模块构建,其 pom 如下:

<project>

<modelVersion>4.0.0</modelVersion>

<groupId>org.apache.maven.proficio</groupId>

<artifactId>proficio</artifactId>

<packaging>pom</packaging>

<version>1.0-SNAPSHOT</version>

<name>Maven Proficio</name>

<url>http://maven.apache.org</url>

[...]

<modules>

<module>proficio-model</module>

<module>proficio-api</module>

<module>proficio-core</module>

<module>proficio-stores</module>

<module>proficio-cli</module>

</modules>

[...]

</project>

注意其中的:

version 元素,其值为 1.0-SNAPSHOT ,在多模块应用中需要同时发布所有子模块,很有必要保持一致的应用版本。在顶层的 pom 中定义应用版本可以使所有模块使用。

Packaging 元素,其值为 pom ,在包含子模块的应用 pom 中,其值必须为 pom 。检查各个子模块对应项目的 pom 中的 Packaging 元素的值,除 Proficio Stores 其值为 pom ,其下包含两个子模块,其余均为 jar ,表明不再包含子模块。

Maven 以这样的方式递归的进行分析。

3 .使用项目继承

利用项目继承可以将结构信息,部署信息,共同的依赖信息放置在单一的位置。在每个工程的 pom 中:

[...]

<parent>

<groupId>org.apache.maven.proficio</groupId>

<artifactId>proficio</artifactId>

<version>1.0-SNAPSHOT</version>

</parent>

[...]

这使得项目的 pom 可以继承顶层 pom 中的定义,检查顶层 pom 的 dependencies 部分:

<project>

[...]

<dependencies>

<dependency>

<groupId>junit</groupId>

<artifactId>junit</artifactId>

<version>3.8.1</version>

<scope>test</scope>

</dependency>

</dependencies>

[...]

</project>

在各个子模块的 pom 中没有对 Junit 依赖的定义,但是从顶层 pom 中继承了依赖的定义。

为了看清楚可以在一个子模块 pom 所在目录下,执行命令

#mvn help:effective-pom

可以看到最终起效果的 pom ,这在找错时很有效。

4 .管理依赖

在 pom 中指明 dependency management 元素的方式 maven 结合项目继承来管理依赖。在多模块应用中,可能多个子项目会有共同的依赖。此时为了正确运行,必须让所有的子项目使用依赖项的同一版本。必须确保应用的各个项目的依赖项和版本一致,才能保证测试的和发布的是相同的成果。因此,应在顶层的 pom 中定义共同的依赖关系。

在 Proficio 应用的顶层 pom 中的 dependency management 段如下:

  <dependencyManagement>

    <dependencies>

      <dependency>

        <groupId>com.devzuz.mvnbook.proficio</groupId>

        <artifactId>proficio-model</artifactId>

        <c>${project.version}</version>

      </dependency>

      <dependency>

        <groupId>com.devzuz.mvnbook.proficio</groupId>

        <artifactId>proficio-api</artifactId>

        <version>${project.version}</version>

      </dependency>

      <dependency>

        <groupId>com.devzuz.mvnbook.proficio</groupId>

        <artifactId>proficio-core</artifactId>

         <version>${project.version}</version>

      </dependency>

      <dependency>

        <groupId>com.devzuz.mvnbook.proficio</groupId>

        <artifactId>proficio-store-memory</artifactId>

        <version>${project.version}</version>

      </dependency>

      <dependency>

        <groupId>com.devzuz.mvnbook.proficio</groupId>

        <artifactId>proficio-store-xstream</artifactId>

        <version>${project.version}</version>

      </dependency>

      <dependency>

        <groupId>org.codehaus.plexus</groupId>

        <artifactId>plexus-container-default</artifactId>

        <version>1.0-alpha-9</version>

      </dependency>

    </dependencies>

  </dependencyManagement>

注意 ${project.version} 变量指的是应用的 version 。

顶层 pom 中的 dependencies 与 dependencyManagement 中的 dependencies 元素有一个重要的区别:

dependencyManagement 中的 dependencies 元素只表明依赖项版本的优先选择,并不影响项目的依赖项;而 dependencies 元素则影响项目的依赖项。

检查 Proficio api 模块的 pom:

<project>

  <parent>

    <groupId>com.devzuz.mvnbook.proficio</groupId>

    <artifactId>proficio</artifactId>

    <version>1.0-SNAPSHOT</version>

  </parent>

  <modelVersion>4.0.0</modelVersion>

  <artifactId>proficio-api</artifactId>

  <packaging>jar</packaging>

  <name>Proficio API</name>

  <dependencies>

    <dependency>

      <groupId>com.devzuz.mvnbook.proficio</groupId>

       <artifactId>proficio-model</artifactId>

    </dependency>

  </dependencies>

</project>

其中没有指明依赖项的版本信息,在顶层 pom 中的 dependencyManagement 中表明其优选的版本是 ${project.version} 即 1.0-SNAPSHOT 。为使其模块 pom 完整,其版本信息会注入其中。只有当 dependencies 元素中没有指明版本信息时, dependencyManagement 中的 dependencies 元素才起作用。

5 .使用快照

当开发多模块应用时,每个模块时常变动。 Maven 的快照是由最新的源码构建的输出物。如果看一下顶层的 pom :

<project>

[...]

<version>1.0-SNAPSHOT</version>

<dependencyManagement>

<dependencies>

<dependency>

<groupId>org.apache.maven.proficio</groupId>

<artifactId>proficio-model</artifactId>

<version>${project.version}</version>

</dependency>

<dependency>

<groupId>org.apache.maven.proficio</groupId>

<artifactId>proficio-api</artifactId>

<version>${project.version}</version>

</dependency>

<dependency>

<groupId>org.codehaus.plexus</groupId>

<artifactId>plexus-container-default</artifactId>

<version>1.0-alpha-9</version>

</dependency>

</dependencies>

</dependencyManagement>

[...]

</project>

可以看到定义了一个快照版本 <version>1.0-SNAPSHOT</version> 。

将依赖项指定为快照版本, maven 会寻找依赖项的新版本,而不必手工指定新版本。 Maven 认为快照版本会进行变化,因此会更新它们。默认的 maven 会每日更新快照版本,可以使用命令行选项 -U 来进行强制更新。对于非快照版本, maven 会下载一次而不作更新。

6 .分析依赖冲突、使用版本区间

当项目变大时,不可避免的出现多个构建物对某个依赖项不同版本的依赖。 Maven 会选择离树顶最近的版本。这样会出现:

选择的依赖项的版本不具有其

Cursor聊天记录迁移工具:实现跨设备AI对话同步与备份 在软件开发中,数据持久化与迁移是常见需求,尤其当工具依赖本地存储时。SQLite作为轻量级关系型数据库,因其嵌入式、零配置特性,常被用于存储应用状态与用户数据。其WAL(预写式日志)模式提升了并发性能,但也增加了数据操作复杂性。通过命令行工具与JSON序列化技术,可以实现结构化数据的提取、转换与安全迁移,这对于保障开发资产的连续性与可移植性具有重要价值。例如,在AI辅助编程场景下,开发者与AI的对话记录包含关键的问题分析、解决方案与决策逻辑,是重要的上下文资产。cursor-chat-transfer工具正 阅读详情

相关推荐

MediaPipe 教程:从安装到应用-全网最全

MediaPipe是Google推出的开源框架,专为构建机器学习管道设计,可以高效处理视频、音频等时间序列数据。本文教程从安装到应用逐步讲解: 安装步骤简单,只需通过pip安装mediapipe包并验证版本; 重点演示人体姿态检测功能,可识别33个身体关键点; 提供基础代码实现,包括视频捕获、关键点检测与可视化; 强调模块化开发,将功能封装成类以提高代码复用性。 教程适合初学者,通过清晰指引和实用代码示例,帮助快速实现计算机视觉应用。

FJN110的博客 1563

使用maven时出现Failure to transfer 错误的解决方法(再次掉入神坑)

在eclipse里使用maven,连接nexus私服。 添加依赖之后,总是报添加的依赖jar文件找不到,但是在nexus的库里面能找到这个依赖的jar文件,但是在本地的maven库里面找不到,于是我将本地库里面这个依赖对应的文件夹删掉,然后在eclipse里面执行update dependencies。成功解决问题! 右键单击项目->maven->update dependen

乔志勇笔记 6万+

具身智能(40):主流 VLA 模型π₀

摘要: π₀是首款专为机器人设计的VLA(视觉-语言-动作)端到端基础模型,通过双阶段训练实现“感知-决策-执行”闭环。其创新点包括:1)FlowMatching技术实现连续平滑动作控制(精度0.3°);2)结合VLM预训练与多机器人实操数据,零样本任务完成率达76.4%,远超同类模型;3)支持模糊指令理解与动态场景适应(如遮挡识别)。开源版本涵盖不同规模模型,适用于工业装配、服务机器人等场景,在延迟(213ms)和稳定性(92%自主恢复率)上显著领先OpenVLA等竞品。

码农17年的博客 510

java项目转maven项目时踩到的坑

1、java项目转maven项目 右键选择 JavaDemo,选择“Configure –> Convert to Maven Project”, 填写“Group ID”和“Artifact Id”都为“JavaDemo”。 (相关文章:https://www.cnblogs.com/tanzq/p/9095981.html,该文章可解释为什么会出现后面两个问题) 2、转maven...

qq_36665450的博客 450

Vue Vben Admin 登录页修改全攻略:从登录界面定制到接口对接全流程配置

方式一:修改国际化文件找到对应的语言包文件,修改和的值。方式二:直接传递文本page-description="现代化的后台管理系统模板"page-title="欢迎使用 Vue Vben Admin"从上面的代码可以看出,登录表单使用了的方式来定义表单字段,这种方式提供了极大的灵活性。如果你想要自定义表单,可以修改formSchema数组。如果你的登录需求非常特殊,现有的组件无法满足,你可以完全自定义表单。只需在login.vue中替换<template><h2>自定义登录</h2>

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 479

X-AnyLabeling-main标注YOLO关键点POSE

同一物体的框和点的 群组编号 要相同。代表这些点和方框是同一物体上的。标注方框之后记得把后面的。顺序要和你标注的顺序一致。写入1,而且之后的点的。配置导出文件.yaml。

qq_53545309的博客 2105

idea插件之maven转gradle

在线演示地址

neutrons的博客 948

【Matlab】如何使用Simulink进行电池建模和SOC预估

“通过Simulink电池建模进行SOC预估,其实挺容易!” 1 声明 本文只描述一般性电池建模方法,文中出现的电池相关数据来自一些论文或者外文文献,对数据的真实性不做任何保证。 本文参考了不少国内高校的硕士论文和外文文献,所以本篇文章只作为学术性交流,未经...

wanff1204的博客 2万+

SpringBoot下实现PDF转word(Maven项目)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 在日常工作学习中经常会遇到需要将PDF文件转成Word文件的场景,但是现在网上绝大部分PDF转Word的软件都是打着免费的噱头吸引你下载,但是使用时才发现,这些软件只能免费转几页,剩下的还是要购买会员。但是实际要转的PDF页数都远远超过了免费额度,这个时候,我们就可以通过这篇文章,自己写一个工具接口,来达到我们..

qq_42725148的博客 4035

2篇5章1节:实验流行病学的核心特征和设计原则

本文系统阐释实验流行病学的核心定义、四大核心特征、四大基本原则及主流设计类型,结合骨科、肿瘤科、儿科、精神科、内外妇儿及公共卫生等多学科临床实践案例,具象化解读人为干预、随机分组、平行对照、前瞻性设计的核心内涵与应用价值。同时,规范梳理对照、随机、盲法、重复四大研究基本原则,详细介绍临床试验、现场试验、社区试验三类主流研究设计的适配场景与应用差异。

MD Code 167

液态神经网络(LNN):打破AI“静态快照”的连续动力学革命---AI大模型系统从零开始0029

MIT研究团队受秀丽隐杆线虫神经系统的启发,开发出革命性的液态神经网络(LNN)。该技术通过连续微分方程建模神经元动态,实现输入响应速度的自适应调节,解决了传统AI模型静态化、高能耗和低解释性的痛点。LNN具有三大突破性优势:仅需少量神经元(如20个)即可完成复杂任务;能处理非均匀时序数据;在自动驾驶、医疗监测等领域展现出卓越的适应性和鲁棒性。这项将生物智能与数学建模完美融合的技术,有望成为下一代AI的核心架构,目前已在无人机导航等场景验证了其高效性,被预测为2026年最具潜力的AI突破方向。

添柴程序猿的专栏 372

gradle 的cas 转maven_gradle项目与maven项目相互转化

gradle这几年发展迅猛,github越来越多的项目都开始采用gradle来构建了,但是并不是所有人都对gradle很熟悉,下面的方法可以把gradle转成maven项目,前提gradle项目目录结构保持跟maven一样的约定,即/src/main/java这一套。一、gradle --> maven在build.gradle中增加以下内容(group,version可自行修改,artif...

weixin_39985286的博客 123

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

gradle 的cas 转maven_gradle与maven项目相互转化

gradle这几年发展迅猛,github越来越多的项目都开始采用gradle来构建了,但是并不是所有人都对gradle很熟悉,下面的方法可以把gradle转成maven项目,前提gradle项目目录结构保持跟maven一样的约定,即/src/main/java这一套。一、gradle --> maven在build.gradle中增加以下内容(group,version可自行修改,artif...

weixin_39818727的博客 202

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Ant升级转Maven全面总结

1. 描述 最近一直在忙于Ant项目升级Maven的工作,在升级的过程中遇到了很多的错误。一路坎坎坷坷,今天终于交接完毕了。由于项目托管是使用GitLab CI(Continuous integration,简称CI),因此打包环境和本地有所不同。GitLab CI是GitLab的一部分,负责管理项目和用户界面,并允许对每次提交进行单元测试,在构建失败时显示警告消息。每当开发人员将代码推送到应用程...

小影 9315

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

maven 汉字转拼音

Pom.xml文件 &lt;dependency&gt;             &lt;groupId&gt;com.belerweb&lt;/groupId&gt;             &lt;artifactId&gt;pinyin4j&lt;/artifactId&gt;             &lt;version&gt;2.5.0&lt;/version&gt;  

夜晓星的博客 2916

maven项目转gradle项目

maven项目 to gradle项目 在maven项目下执行该命令 gradle init --type pom gradle使用本地的maven地址 *使用.m2下的maven配置文件 repositories { maven { url &amp;amp;quot;http://maven.aliyun.com/nexus/content/groups/publi...

xiaowen555555 3618

gradle转maven

Gradle build.gradle to Maven pom.xml 将gradle项目转换成maven项目 #根据build.gradle 生成maven pox.xml 1.将以下配置添加到build.gradle文件中。 apply plugin: 'maven' group = 'com.company.root' // artifactId is taken ...

cuixuefeng1112的专栏 487

eclipse maven转java

&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;classpath&gt;             &lt;classpathentry kind="src" path="platform-admin/src/main/java"/&gt;             &lt;classpathentry kind=&qu

ding43930053的专栏 534

原artifact的java项目转maven

java项目转maven项目

weixin_44048908的博客 245

maven项目转gradle工程

maven项目转gradle工程 转之前 开始转 转完之后

雪儿的博客 333

用IDEA将普通Web项目转Maven项目

第一步:准备工作 Maven 环境搭建 开发工具: IDEA(对Maven的支持更好,我的版本是IntelliJ IDEA 2018.3) 一个可以用IDEA 跑起来的普通web项目(本案例用的是一个基于SSM框架的项目) 第二步:转成Maven的目录结构 1.右键点击项目,选中Add framework support…,选择Maven并点击ok 这个操作会将你的项目改变...

南山浪子的专栏 2万+

Gradle项目转Maven项目

成功后,会在 build目录下的 poms 文件夹下生成 pom-default.xml,此文件内容比较冗余繁琐,所以继续添加以下内容执行较好。工作中需要将一个gradle项目转maven项目,然后就去网上找资料,好多类似的答案,但是都不行!如果报错,请使用6.9.x版本,我用的7.1.x或者7.0.x都不行!...

seven瓜的博客 5955

jar转maven

原文地址:https://ask.youkuaiyun.com/questions/383004 jar转maven命令(jar所在位置执行): mvn install:install-file -Dfile=jave-1.0.2.jar -DgroupId=joinery -DartifactId=jave -Dversion=1.0.2 -Dpackaging=jar ...

m0_37598340的博客 220

Apache PDFBox Maven集成实战:PDF批量转图片的完整指南

本文提供了Apache PDFBox与Maven集成的完整实战指南,详细讲解了如何通过PDFBox实现PDF批量转图片功能。内容涵盖核心依赖配置、基础与批量转换代码编写、性能优化技巧、异常处理以及Spring Boot服务集成,帮助Java开发者快速构建稳定高效的PDF处理服务。

k0l1m2n3o的博客 605

gradle 的cas 转maven_Gradle项目与Maven项目互转

一、gradle --> maven在build.gradle中增加以下内容(group,version可自行修改,artifactId默认为目录名称)plugins {id 'java'}apply plugin: 'maven'group 'com.lyh'version '1.0-SNAPSHOT'sourceCompatibility = 1.8repositories {maven...

weixin_29541695的博客 246

转:Maven是什么

文章转自:一条路上的咸鱼--Maven是什么 一、Maven是什么   Maven是一个Apache公司的开源项目,是项目构建工具。用来管理依赖。 1、Maven的好处   使用maven可以在项目中不用导入项目依赖的jar包,省去了下载和导入jar包的过程,使项目的大小等到了缩减。 2、Maven好处如何实现   Maven通过一个仓库来存放jar包,在Maven项目中,不再需要导入...

elice_的博客 217
上一篇: Jalopy在Eclipse下的使用
下一篇: Maven resource
topinking
博客等级 码龄20年 15粉丝 242原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值