使maven在构建jar中复制其他文件(不是资源,而是任何包内的任何文件)?

我有一个带有一些ruby文件(* .rb)的org.myapp.mypackage包,我需要将它们与java类文件一起包含在同一个包中生成的构建jar 。 我怎么告诉我的朋友Maven这样做?

OBS:不,我不能复制到其他任何地方,但感谢您的建议。 🙂

您可以修改POM的位的资源部分:

   src/main/resources   false src/main/java  *.rb   **/*.java    

或者,另一个答案(在src/main/resources创建相同的包结构)也可以。

不确定我是否正确理解了问题,但如果您的Ruby文件由maven打包并声明为依赖项,则可以使用shade插件将内容包含在生成的jar文件中:

  org.apache.maven.plugins maven-shade-plugin 1.4   package  shade     org.myapp.mypackage:mypackage     org.myapp.mypackage:mypackage  org/my/package/*.rb        

将它们放在正确的目录(一般是src / main / resources)中,它们应该正确捆绑到Jar中。 为了把* .rb文件放在src / main / resources文件夹下创建相同的目录结构。