码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Java Maven项目问题整理


    文章目录

      • src/main/java文件夹
      • src/test/java文件夹
      • src/main/java和src/test/java文件夹区别
      • 读取maven项目中src/test/resources里的配置文件
      • maven 项目导入本地jar包

    src/main/java文件夹

    代码文件位于src/main/java文件夹中,资源文件位于src/main/resources文件夹中。
    Maven将Java项目编译到target文件夹中。 /target/classes必须是根目录。 编译后,发现.class文件位于此文件夹下的相应子文件夹中,src/main/resources下的文件复制到此文件夹下。

    src/test/java文件夹

    Maven将src/test/java文件夹下的代码编译到target/test-classes文件夹下。 同样,如果资源文件位于src/test/resources下,会将其复制到target/test-classes文件夹下。
    测试代码的执行时,优先使用test-classes文件夹下的资源文件,如果不存在,则使用classes文件夹下的资源文件。

    src/main/java和src/test/java文件夹区别

    第一点:
    src/main/java:里面的java文件只能直接加载src/main/resources下的资源,不能直接加载src/test/resources下的资源;
    src/test/java: 里面的java文件既能加载src/test/resources下的资源,又能加载src/main/resources下的资源,当两个resources下都有要加载的同名资源时候,优先选择src/test/java下的资源;

    第二点:
    若在src/main/java中某个方法使用@Test进行测试,则能读取到src/test/resources目录下的资源
    例如:流程引擎中的ProcessEngines.getDefaultProcessEngine();需要加载默认文件"activiti.cfg.xml",则要将该文件放在相应的资源目录中。

    读取maven项目中src/test/resources里的配置文件

    2种方法。注意,只有在运行单元测试的时候才读取test目录下的文件

    AppTest.class.getResourceAsStream("/example.xml");
    
    AppTest.class.getClassLoader().getResourceAsStream("example.xml");
    
    //如果此类是由bootstrap类加载器加载的,则使用
    AppTest.class.getClassLoader().getSystemResourceAsStream("example.xml");
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    如果Test.class.getResource()资源是以/开头,则指向CLASSPATH根目录;
    如果Test.class.getResource()是以文件(包名)开头,则相对Test.class文件所在包查找资源;

    maven 项目导入本地jar包

    直接打开项目的pom文件,在dependencies节点中添加下面的一段:
    注意,一般 groupId 和 artifactId 设置成jar包名字即可,version随便写

    <dependency>
        <groupId>org.examplegroupId>
        <artifactId>xxxartifactId>
        <version>1.0-SNAPSHOTversion>
        <scope>systemscope>
        <systemPath>/xxx/xxx.jarsystemPath>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    如果,想写更加准确的项目信息,可以在jar包中找到相关信息:

    mkdir xxx
    cd xxx
    jar --help
    jar -xvf 
    进入META-INF 文件夹,找到 pom.xml文件
    找到其对应的 groupId,artifactId,version等信息,
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    Flink学习20:算子介绍reduce
    B-3:Web安全之综合渗透测试
    壳聚糖-紫杉醇|Chitosan-Paclitaxel|紫杉醇-PEG-壳聚糖
    物联网开发笔记(7)- 使用Wokwi仿真ESP32开发板实现LED灯点亮、按钮使用
    (十一)Powershell调用java实验
    【npm如何发布自己的插件包】
    python如何将字符串进行拆分——split函数的用法及实例
    VMware16.1.2安装及密钥
    【TR】libevent 定时器:utp_timer
    C#学习记录——.NET Framework的组成及C#程序的执行过程
  • 原文地址:https://blog.csdn.net/u014163312/article/details/128194395
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号