在Maven标准目录布局中,我在哪里放置规则引擎文件?具体来说,我正在使用JBoss Rules(Drools),如果这很重要的话。
答案 0 :(得分:1)
在我们的项目中,我们只是将它们放在src/main/resources/
中。他们需要最终在类路径上,但不是Java代码,所以这似乎是放置它们的明显位置。
您还可以创建一个单独的资源目录,如src/main/drools/
,但是您必须在POM文件中显式定义它,以便它进入类路径。如果你有很多其他类型的资源已经混乱src/main/resources/
,那么一个单独的目录可能是要走的路。如果规则文件是您唯一的资源,我会推迟建立一个单独的目录。
答案 1 :(得分:1)
如果您在构建中未预编译(这是默认行为),请将它们放在src/main/resources/
下。对于构建,它们与图像,属性和xml文件等其他资源没有区别:只需将它们复制到target/classes
。
但是,如果您正在使用其中一个实验性maven插件,并且它支持预编译并且您预编译它们,那么将它们放在src/main/drools/
下,以便构建可以预编译它们并输出他们到target/classes
。
要理解的是,src/main/java/
和src/main/webapp/
与src/main/resources/
不同,因为构建会以不同方式对待每个人(在复制过程中执行某些操作或复制到其他位置)。