Eclipse配置了MAVEN,但是MAVEN工程无法拉去依赖包

Eclipse配置了MAVEN,但是MAVEN工程无法拉去依赖包,第1张

1、首先去看看你的镜像库是不是正确,可以在settingsxml中看看你的镜像库指向的位置,是否是可以访问的

2、如果判断出你的jar引入的位置都是无法加载的,自然就报错了

比如我们有以下目录

|–project

|–src

|–java application

|–Testjava

|–file1txt

|–file2txt

|–build

|–java application

|–Testclass

|–file3txt

|–file4txt

在上面的目录中,有一个src目录,这是JAVA源文件的目录,有一个build目录,这是JAVA编译后文件(class文件等)的存放目录,那么,我们在Test类中应该如何分别获得 file1txt file2txt file3txt file4txt这四个文件呢看

首先讲file3txt与file4txt

file3txt:

方法一:File file3 = new File(TestclassgetResource(逗file3txt地)getFile());

方法二:File file3 = new File(TestclassgetResource(逗/javaapplication/file3txt地)getFile());

方法三:File file3 = new File(TestclassgetClassLoader()getResource(逗javaapplication/file3txt地)getFile());

file4txt:

方法一:File file4 = new File(TestclassgetResource(逗/file4txt地)getFile());

方法二:File file4 = new File(TestclassgetClassLoader()getResource(逗file4txt地)getFile());

很好,我们可以有多种方法选择,但是file1与file2文件呢看如何获得看

答案是,你只能写上它们的绝对路径,不能像file3与file4一样用classgetResource()这种方法获得,它们的获取方法如下

假如整个project目录放在c:/下,那么file1与file2的获取方法分别为

file1txt

方法一:File file1 = new File(逗c:/project/src/javaapplication/file1txt地);

方法二:。。。没有

file2txt

方法一:File file2 = new File(逗c:/project/src/file2txt地);

方法二:。。。也没有

总结一下,就是你想获得文件,你得从最终生成的class文件为着手点,不要以java文件的路径为出发点,因为真正使用的就是class,不会拿个java文件就使用,因为java是编译型语言嘛

至于getResouce()方法的参数,你以class为出发点,再结合相对路径的概念,就可以准确地定位资源文件了,至于它的根目录嘛,你用不同的IDE build出来是不同的位置下的,不过都是以顶层package作为根目录,比如在Web应用中,有一个WEB-INF的目录,WEB-INF目录里面除了webxml文件外,还有一个classes目录,没错了,它就是你这个WEB应用的package的顶层目录,也是所有class的根目录逗/地,假如clasaes目录下面有一个filetxt文件,它的相对路径就是地/filetxt地,如果相对路径不是以地/地开头,那么它就是相对于class的路径。。

还有一个getResourceAsStream()方法,参数是与getResouce()方法是一样的,它相当于你用getResource()取得File文件后,再new InputStream(file)一样的结果。

原文地址: Java Maven打包总结(Jenkins多模块编译部署)

依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。

完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库

依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段。

完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库

依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段。完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库

可以看到主要区别在把生成的jar包最终存放的位置, package只管打包; install把打好的包放到了本地maven仓库;deploy是同时放到本地仓库和远程maven私服

这里本地仓库默认是 /root/m2/repository/ ,具体配置在 ${M2_HOME}/conf/settings 的 localRepository 配置项决定。远程私服仓库一般是nexus,具体地址在项目的pomxml中配置。比如

一般是进入父级目录之后执行

如果是多级目录的话,有时候并不一定是按照 具体的项目来 编译,比如

这个时候如果一个项目一个项目来编译会超级多,很繁琐,这里是按照 subparentproject 来编译,命令如下

有个注意的地方:

subparentproject 目录下的pomxml文件中一定有类型如下的配置

1、需要安装插件 Extended Choice Parameter Plug-In 可以支持参数单选、多选

2、项目选择"自由风格",而不是maven编译

3、在“构建” -> "执行shell" 中编写 子模块编译脚本及其后续处理

具体配置如下图

“构建” -> "执行shell" 中的处理脚本

附加:

Linux Bash下字符串 *** 作总结

maven架构是四个主要目录 src/main/java java代码 src/main/resources 资源配置文件 src/test/java 测试类 src/test/resources 测试资源文件 其他的需要自己手工简历 手打版 往LZ采纳

别的机子上创建一个maven工程,复制到本机上导入,出现pomxml文件错误,提示错误如下

Multiple annotations found at this line:

- Execution default-testResources of goal orgapachemavenplugins:maven-resources- plugin:243:testResources failed:

Plugin orgapachemavenplugins:maven-resources-plugin:243 or one of its dependencies could not be resolved: Failed to collect

dependencies for orgapachemavenplugins:maven-resources-plugin:jar:243 () (orgapachemavenplugins:maven-resources-

plugin:243:testResources:default-testResources:process-test-resources)

- Plugin execution not covered by lifecycle configuration: orgapachemavenplugins:maven-compiler-plugin:232:compile

(execution: default-compile, phase: compile)

- CoreException: Could not get the value for parameter compilerId for plugin execution default-compile:

PluginResolutionException: Plugin orgapachemavenplugins:maven-compiler-plugin:232 or one of its dependencies could not be

resolved: Failed to collect dependencies for orgapachemavenplugins:maven-compiler-plugin:jar:232 ():

ArtifactDescriptorException: Failed to read artifact descriptor for orgapachemaven:maven-plugin-api:jar:206:

ArtifactResolutionException: Failure to transfer orgapachemaven:maven-plugin-api:pom:206 from >

以上就是关于Eclipse配置了MAVEN,但是MAVEN工程无法拉去依赖包全部的内容,包括:Eclipse配置了MAVEN,但是MAVEN工程无法拉去依赖包、resources.getresourceasreader方法读取什么样的文件、Java Maven打包总结(Jenkins多模块编译部署)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9347726.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存