`
小网客
  • 浏览: 1217087 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

“Maven官方用户入门指南”翻译之五

 
阅读更多

如何往jar中添加资源文件?

另外一个常见需求就是在不修改pom文件的前提下在打包的时候把资源文件打进去。针对这个需求maven又一次基于标准目录结构,也就是说基于这个公约你可以在打包的时候很容易的打进去。

在上述例子中我们增加了${basedir}/src/main/resources目录来放置一些希望打包打进去的资源文件。maven的规则是任何在${basedir}/src/main/resources 放置的文件在打包的时候都会原封不动的安装这个目录结构打包进去如下所示:

 

my-app
|-- pom.xml
`-- src
    |-- main
    |   |-- java
    |   |   `-- com
    |   |       `-- mycompany
    |   |           `-- app
    |   |               `-- App.java
    |   `-- resources
    |       `-- META-INF
    |           `-- application.properties
    `-- test
        `-- java
            `-- com
                `-- mycompany
                    `-- app
                        `-- AppTest.java

上面你可以看到在 META-INF 目录里有个application.properties文件,如果你解压这个jar你会看到如下目录结构:

 

 

|-- META-INF
|   |-- MANIFEST.MF
|   |-- application.properties
|   `-- maven
|       `-- com.mycompany.app
|           `-- my-app
|               |-- pom.properties
|               `-- pom.xml
`-- com
    `-- mycompany
        `-- app
            `-- App.class

 你可以看到 ${basedir}/src/main/resources 里面的内容在jar中可以被找到在META-INF目录下。同时你也发现了META-INF/MANIFEST.MF 、 pom.xml 和pom.properties,这些文件是在maven打包的时候自动生成的。当然你也可以生成自己的manifest 文件,如果你不指定的话那么maven会生成默认的(你也可以修改manifest,后面会说到这个事)。pom.xml 和 pom.properties被maven打入jar中包括一些自身的描述信息,一些元数据信息同时也可以给你自己的三方程序使用。一个简单的需求就是查看工程版本号。操作pom文件可能需要maven的工具包,不过操作属性文件直接可以基于标准java api来操作,他的内容如下:

#Generated by Maven
#Tue Oct 04 15:43:21 GMT-05:00 2005
version=1.0-SNAPSHOT
groupId=com.mycompany.app
artifactId=my-app

单元测试的资源文件同样遵循上述标准,不过需要放在${basedir}/src/test/resources目录下。这样的话一个标准的目录结构如下所示:

my-app
|-- pom.xml
`-- src
    |-- main
    |   |-- java
    |   |   `-- com
    |   |       `-- mycompany
    |   |           `-- app
    |   |               `-- App.java
    |   `-- resources
    |       `-- META-INF
    |           |-- application.properties
    `-- test
        |-- java
        |   `-- com
        |       `-- mycompany
        |           `-- app
        |               `-- AppTest.java
        `-- resources
            `-- test.properties

单元测试中你可以引用下述片段去访问测试用的资源文件:

...

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

// Do something with the resource

...

 

2
0
分享到:
评论

相关推荐

    Maven2.09+ 入门指南

    最新的maven2.0.9下载,附带使用入门参考指南。

    Maven入门指南.docx

    这是一篇关于Maven的入门指南,有详细的操作步骤,适合初学者

    maven + springmvc 入门实例

    maven + springmvc 入门实例,安装好maven之后导入myeclipse即可运行。maven安装方法请自行百度

    maven-javaweb入门

    maven的Javaweb入门实例,可用idea打开,也可用eclipse打开

    maven项目构建入门书籍

    maven项目构建入门书籍,java maven入门经典书籍

    Maven+SpringMVC的入门级HelloWorld实例

    Maven+SpringMVC的入门级HelloWorld实例,简单了解Maven和SpringMVC整合

    Maven3入门

    Maven3入门

    maven入门到精通

    maven入门到精通 用 Maven 做项目管理 在 Java世界中我们很多的开发人员选择用 Ant来构建项目,一个 build.xml能够完成编译、测试、打包、部署等很多任务,但我们也碰到了很多的问题,如 jar文件管理混乱,各个...

    Maven权威指南_maven_

    Maven权威指南中文版.pdf格式,是一本细心编排的入门指南和参考手册。

    maven安装maven安装maven安装maven安装maven安装

    maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装maven安装...

    开源工具Maven3.9.4版本压缩包

    Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven3.9.4版本压缩包,仅供学习参考,更新版本请前往Maven官方下载;Maven...

    Maven2教程入门基础

    Maven2教程,项目构建使用,一起学习

    maven教案-maven入门学习资料

    maven教案,maven学习资料,maven入门

    maven安装配置指南

    maven 用法 指南 java 基础 配置 安装 入门 eclipse jar ear war 打包 rad

    Maven入门案例

    Maven入门案例,Maven安装,Maven配置,Maven案例,Maven常见命令

    Maven权威指南中文版.pdf

    Maven是一种构建工具,一种项目管理工具,一种用来运行构建任务的抽象容器。对于那些成熟的,希望用一致的方式来管理和构建大量相互依赖的模块和类库,并且使用了 数千第三方组件的项目来说,Maven已经证明了它是一...

    Maven权威指南中文版(完整).pdf

    Maven权威指南中文版(完整).pdf

    Maven实战- 入门

    1.2 为什么需要 Maven 5. 1.3 Maven 与极限编程 6. 第 2 章 Maven 的安装和配置 7. 2.1 在 Windows 上安装 Maven 8. 2.2 在基于 Unix 的系统上安装 Maven 9. 2.3 安装目录分析 10. 2.4 设置 HTTP 代理 11. 2.5 安装...

Global site tag (gtag.js) - Google Analytics