首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何协调maven开发目录结构与maven发布目录结构

问如何协调maven开发目录结构与maven发布目录结构
EN

Stack Overflow用户
提问于 2014-05-30 20:01:46
回答 3查看 97关注 0票数 0

我对我的项目http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html使用标准maven目录结构

但是,这是有问题的,因为配置文件将位于jar文件中。对于如何将配置文件从预定义的位置读取为如何获得正在运行的JAR文件的路径?进行了一些讨论。

但是,我试图在jar文件中没有任何配置文件的情况下进行打包,并使目录结构看起来类似于我们下载的任何其他开源项目。

代码语言:javascript
复制
project|
        --lib
       |
        --conf
       |
        --docs
       |
        --src

我不喜欢做任何源代码更改(例如:我所有的配置文件都在用于maven开发的源代码路径中,我只是直接读取文件,而没有在路径前面加上);如果我必须将路径更改为源代码中的配置文件,我应该如何使该路径在开发和生产中都正常工作?

1)如何才能保持当前的“开发”目录结构,但我的“产品”发布目录看起来与任何apache(比方说)项目类似。

2)对于每个版本,我应该在pom.xml中做哪些更改,以便将版本号附加到jar并递增

我不喜欢做任何源代码/java代码的更改(例如:我的所有配置文件都在用于maven开发的源代码路径中,我只是直接读取这些文件,而没有在路径前面加上路径);如果我必须更改源代码中的配置文件路径,我应该如何使该路径在开发和生产中都能正常工作?

(我正在使用Maven和Eclipse)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-06-03 23:27:07

我想分享更多的提示,根据我挖掘出来的(@superbob给出了很好的解释)。说起来容易做起来难.

我希望创建jar (首先是可执行的),并将这个jar文件复制到zip中(以及很少有其他目录发布到生产中),如果您可以查看现有的pom文件,而不是修改现有的pom文件,那么...it是很容易的。

在这里查找现有项目(pom.xml) http://www.petrikainulainen.net/programming/tips-and-tricks/creating-a-runnable-binary-distribution-with-maven-assembly-plugin/

在我的例子中,我有多个pom文件,它为菜鸟增加了另一层复杂性,比如me..look这里是使用maven程序集插件http://maven.apache.org/plugins/maven-assembly-plugin/examples/multimodule/index.html的多模块示例。

最后但并非最不重要的一点是,运行以下命令以确保程序集被创建

代码语言:javascript
复制
   mvn  clean install package assembly:single
票数 0
EN

Stack Overflow用户

发布于 2014-05-31 08:48:38

在我的项目中,我使用maven组装插件以可再发行的方式打包应用程序:

src/main/java和src/main/resources下的所有内容都打包在主jar中(标准行为)。

然后使用程序集插件,创建一个包含3个文件夹的zip:

  • /lib:包含主jar +所有依赖项
  • /bin:包含来自src/main/scripts maven源文件夹的附加文件(启动src/main/scripts脚本)
  • /etc (或/conf):包含来自src/main/config maven源目录(配置文件)的附加文件

我发现这个设置非常方便,因为它非常接近最初的maven标准布局 (主jar中的src/main/java+ src/main/resources和其他附带的文件夹),仍然适合我的项目。

票数 1
EN

Stack Overflow用户

发布于 2014-05-31 08:36:52

您可以通过在Maven资源插件中提及这些资源目录来使用现有资源。

添加以下代码以构建pom.xml的(标记)部分

代码语言:javascript
复制
<resources>
 <resource>
   <directory>[your folder here]</directory>
 </resource>
</resources>

您可以在这里添加几个非maven标准资源(任何其他src/main/resources )。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23962556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档