搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
很楠不爱3
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
力扣刷题 单链表 之 剑指offer 24 反转链表
2
AES-CMAC加密算法使用_aes cmac
3
【动态规划】01背包问题(手画图解)
4
2024美赛数学建模E题思路&源码
5
【Zabbix】Docker方式安装Zabbix 5.2_zabbix5.2mariadb版本
6
css 纯样式实现绘出进度条_进度条 纯css 样式
7
【LeetCode 单链表专项】两两交换链表中的节点(24)_单向链表两两交换
8
MySQL篇----第八篇
9
java中es多字段分组查询_java es 分组
10
为什么网络安全缺口大,招聘却很少?_为什么网络安全人才缺口大但是难找工作
当前位置:
article
> 正文
在eclipse项目中使用maven管理依赖
作者:很楠不爱3 | 2024-02-16 00:34:04
赞
踩
eclipse使用maven管理项目
概览:
如何导入maven项目至eclipse中
建立自有Maven Java类库服务器
建立符合maven代码库标准的自定义类库
Maven在管理Java类库方面有巨大的优势,像白衣所说就是非常“环保”。
我们平时用IDE开发都是把所需要的类库一股脑的全丢到项目目录下,然后全部添加到ide的构建路径中,如果用了SVN/CVS,这样会很容易就把这些庞大的类库提交到代码库中,如果是j2ee项目,光类库可能就有百兆,严重影响checkout速度,如果是远程开发就不敢想象了。而引入maven来管理依赖,就可以很好的控制依赖项的版本,并且项目中不存在具体依赖lib,只有对于依赖的描述,来源也可以很好的集中控制。
我们的项目在eclipse wtp下开发,而项目的依赖我用maven来管理,并且同时也不影响wtp的正常使用,以下是整合eclipse和maven的方法和步骤,关于maven的使用这里不做介绍,相关的文档网上有很多,本文仅做简单介绍:
以一个webapp项目my-webapp为例
1. 建立支持maven的eclipse项目
首先用maven来建立标准布局的webapp项目,然后用maven生成eclipse wtp项目配置信息,再用eclipse导入即可
下面先说说第一种:
1.1 生成maven项目
生成标准布局的webapp项目,在控制台执行下面命令(groupId后面是包名,artifactId后面是项目名称):
mvn archetype:create -DgroupId=net.jeffrey
-DartifactId=my-webapp
-DarchetypeArtifactId=maven-archetype-webapp
生成标准布局的普通java项目,执行:
mvn archetype:create -DgroupId=net.jeffrey -DartifactId=my-app
完成后你会看到已经生成了一个名为my-webapp的文件夹,这就是刚刚生成好的项目目录
在my-webapp根目录下,你会看到名为pom.xml的文件,这个就是maven的项目描述文件
编辑pom配置项目所需依赖,例如下面
Maven的代码库是这样的目录结构,groupId是该类库所属的组织,作为文件目录,包名结构映射成目录结构,artifactId就是具体的类库名称了,是groupId的一个子目录,version是版本号,每个版本都有一个单独的目录,里面放置的就是具体的jar包。
比如spring-2.0.jar在maven代码库中的路径就是org/springframework/spring/2.0/spring-2.0.jar
关于依赖的写法,可以去这里查询:http://mvnrepository.com/
1.2 生成eclipse项目
在控制台下进入项目目录,如果是从maven webapp项目生成eclipse wtp,执行:
mvn –Dwtpversion=1.0 eclipse:eclipse(wtp1.0以上版本均可用)
普通eclipse项目执行:mvn eclipse:eclipse
然后在eclipse中import项目即可
1.3 在eclipse中设置maven路径变量
刚导入的项目上会有错误标记,不用担心,因为还没有设置maven的类库变量
打开项目的属性框,在Java Build Path里我们可以看到项目依赖类库的路径都已经给自动设置好了
下面设置maven的路径变量M2_REPO
Window -> Preferences -> Java -> Build Path -> Classpath Variables,New
Name命名为M2_REPO,路径为你的本地的maven类库地址,这里为C:/Documents and Settings/jeffrey/.m2/repository,设置成功后重新编译,发现项目的错误标记已经消除了,至此,eclipse项目已经导入成功了
1.4 为项目添加新的依赖
编辑pom文件,添加新的dependency,保存後
在控制台分别执行:
mvn eclipse:clean
mvn -Dwtpversion=1.0 eclipse:eclipse
在eclipse中刷新项目即可看到新的依赖项已经添加到eclipse项目中
1.5 非maven标准的项目布局
前面已经介绍了如何新建一个maven项目并导入到eclipse中,但对于已有的wtp项目,其项目布局是不符合maven方式的(eclipse下wtp项目web目录在项目根目录下WebContent,maven布局是在src/main/webapp),这就不能直接通过eclipse:eclipse来生成eclipse的依赖
但可以通过改写项目pom文件来指定源码目录和测试源码目录:
xml 代码
<build>
<finalName>my-webappfinalName>
<sourceDirectory>srcsourceDirectory>
<testSourceDirectory>testtestSourceDirectory>
build>
对于web根目录,还没有什么好办法来特别指定,如果哪位朋友知道,麻烦指教。
2. 建立Maven2的本地代码库服务器,也就是常说的“私服”
官方的maven repository服务器特别的慢,还记得上次海底电缆事故么?官方的服务器根本就无法访问,那段时间简直要抓狂。并且官方服务器类库版本通常不是最新,有时候想用最新版的还得自己动手。(下面会介绍如何自己动手做),所以建立一个自己的本地代码服务器对于整个团队就特别有意义。
Maven的服务器很简单,一个普通的http服务器就行,比如apache,装好apache以后。
将你本地代码库文件夹拷贝到apache安装目录下htpdocs/maven2,windows用户是C:\Documents and Settings\jeffrey\.m2\repository,linux下是 /home/Jeffrey/.m2/repository(注意.m2在linux下是隐藏文件夹)
启动apache服务器,在浏览器中输入http://localhost/maven2/repository,应该可以查看到repository的文件目录
编辑项目pom,指定本地的代码库服务器
在project中加入:
xml 代码
<repositories>
<repository>
<id>mylibsid>
<url>http://localhost/maven2/repositoryurl>
repository>
repositories>
可以加入多个repository,mvn会按照顺序检索,如果都没有找到,最后会去找官方的服务器
3. 添加新的类库到本地代码服务器中
在maven官网有很多类库都找不到,只能自己动手,丰衣足食。
请先确认官网确实没有的情况下再自己做,毕竟还是挺麻烦的
可在以下两个网站查阅:http://mvnrepository.com/,http://repo1.maven.org/maven2/
前面已经说明了maven代码库的文件目录组织方式,同一个jar对于每个版本都有一个独立的文件夹来存放,除了jar还要有该jar的描述文件.pom,以及他们的校验文件.sh1
.pom文件里定义了该jar的名称、版本以及该jar所依赖到的其他jar(这也就是为什么引入一个jar却带出一大堆的jar来)
最简单的pom如下:
为jar和pom生成校验文件
可以通过一个ant任务来做:
xml 代码
<target name="checksum" description="Generate checksum file for jar and pom">
<checksum algorithm="SHA" fileext=".sha1">
<fileset dir="d:/javalib" id="id">
<include name="**/*.pom" />
<include name="**/*.jar" />
<include name="**/*.xml" />
<exclude name="**/*.sh1" />
fileset>
checksum>
target>
把生成好的sh1文件和jar、pom按照前面介绍的结构布局拷贝到apache的代码库中,当然你也可以直接拷到本地代码库中。
xml 代码
xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0modelVersion>
<groupId>net.jeffreygroupId>
<artifactId>xxxartifactId>
<version>1.0version>
<dependencies>
dependencies>
project>
xml 代码
<dependencies>
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>springartifactId>
<version>2.0version>
<scope>compilescope>
dependency>
dependencies>
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/很楠不爱3/article/detail/88851
推荐阅读
article
通过
GitHub
Actions 自动发布项目到
Maven
中央仓库_
com
.
github
.ab...
基础的
Maven
配置参考官方文档:https://central.sonatype.org/publish/publ...
赞
踩
article
maven
【解决】
Denpendy
‘...‘
not
found
找
不到
依赖
_
maven
找
不到
依赖
...
一、错误引入一个fastjson
依赖
包。在远程仓库中搜索(中央仓库没搜到,也可能是我不会搜):https://mvnre...
赞
踩
article
Failure to f
in
d
com
.
xxxx
:xxx-
xxxx
-
xxxx
:pom:1.2.0 i...
idea
maven
导入项目失败_failure to f
in
d
com
.failure to f
in
d
com
. ...
赞
踩
article
eclipse
+
pydev
怎么
导入
已有
的
python
项目
_
pydev
导入
python
依赖...
转自:https://zhidao.baidu.com/question/2117277007790501747.htm...
赞
踩
article
深入理解
spring
-
boot
-
starter
-
parent
_
spring
-
boot
-starte...
在idea当中创建
spring
boot
项目的时候都会继承一个`
spring
-
boot
-
starter
-
parent
`作为...
赞
踩
article
Android
SDK
上传
Maven
喂奶级教程...
最近领导给安排了个任务,让我把我们现有的一个
SDK
上传
到
Maven
上去,方便客户直接用 gradle 依赖,不再...
赞
踩
article
【
Maven
】本地
sdk
导入
Maven
_
taobao
-
sdk
-
java
maven
...
找到jar包所在的文件夹,打开cmd,执行以下命令:mvn install:install-file -Dpackagi...
赞
踩
article
eclipse
配置
android
sdk
和
maven
_
eclipse
maven
导入
sdk
...
首先下载ADT-22.2.0.rar
eclipse
-jee-kepler-R-win32-x86_64.zipandro...
赞
踩
article
[URL ]
android
studio
SDK
Google
Maven
dependencie...
https://developer.
android
.
google
.cn/
studio
/
Google
Maven
depe...
赞
踩
article
超简便
Android
推送
SDK
Maven
集成法_
maven
集成
android
包...
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 ...
赞
踩
article
Maven
:项目无法产生
Maven
Dependencies
且无法
update
project
报ca...
Maven
:项目无法产生
Maven
Dependencies
且无法
update
project
报
cannot
nest
错...
赞
踩
article
Maven
实用
安装
教程_
maven
安装
...
于是希望有一种标准化的方式构建项目,一个清晰的方式定义项目的组成,一个容易的方式发布项目的信息,以及一种简单的方式在多个...
赞
踩
article
Maven
-
编译
报错
:
程序包
XXX
不
存在
(多模块
项目
)...
Maven
-
编译
报错
:
程序包
XXX
不
存在
(多模块
项目
)
Maven
-
编译
报错
:
程序包
XXX
不
存在
(多模块项...
赞
踩
article
常用技术网站,
maven
,
git
,
ideal
,
java
,
mysql
,
Oracle
,vue等...
本文主要用来记录开发过程中可能会用到的技术资料网站,方便各位码友进行资料查询和资料获取。常用技术网站,
maven
,
git
...
赞
踩
article
maven
install
本地
jar
包_
maven
install
本地
jar
包...
maven
install
本地
jar
包_
maven
install
本地
jar
包
maven
install
本地
jar
包 ...
赞
踩
article
Maven
-
settings
.
xml
里
的
offline
节点
的
作用_
maven
offline
作用...
场景某天我在本地修改了某个子项目
的
代码,并进行了打包:mvn clean install -DskipTests,接着我...
赞
踩
article
【
maven
项目管理
工具
】超级详细的
Maven
安装
&
使用
教程(基础)_
maven
安装
...
Maven
详细与
使用
_
maven
安装
maven
安装
文章目录...
赞
踩
article
Maven
in
stall异常,出现
Cannot
access
public (...)
in
o...
具体报错:[ERROR] Failed to execute goal on project cloudX-plan-s...
赞
踩
article
【
Maven
】
Maven
的
常用命令
_
maven
install
...
讲述
Maven
的
常用命令
_
maven
install
maven
install
目录 一、Mav...
赞
踩
article
怎样进行
maven
离线
编译
install
...
怎样进行
maven
离线
编译
install
mvn clean
install
--offline或者在setting...
赞
踩
相关标签
github
github action
maven central
maven
java
eureka
spring
spring boot
pydev
android
sdk
android studio
安卓
推送 SDK
Android 推送
消息推送
安卓推送
开发环境
实用工具