当前位置:  开发笔记 > 编程语言 > 正文

Maven使用多个src目录编译

如何解决《Maven使用多个src目录编译》经验,为你挑选了5个好方法。

有没有办法在单个maven项目中编译多个java源目录?



1> 小智..:

您可以使用build-helper添加新的源目录:


    
        
            org.codehaus.mojo
            build-helper-maven-plugin
            
                
                    generate-sources
                    
                        add-source
                    
                    
                        
                            src/main/generated
                        
                    
                
            
        
    


只是给别人的注释(比如我),'plugin`元素在`/ project/build/plugins`而不在`/ project/build/pluginManagement/plugins`
因此,做到这一点的最佳方法是在2017年创建XML意大利面。没有人看到有问题吗?
如果你正在使用eclipse,你可能想从eclipse marketplace安装`m2e connector for build-helper-maven-plugin`来删除pom.xml中的错误
这种方法的唯一问题是最终工件也包括java源文件(.java文件)。有没有一种方法可以排除源文件,仅包含.class文件?

2> comeGetSome..:

我天真地这样做:


  osmwse
  src/main/java, src/interfaces, src/services


在Maven 3.3.9中没有为我工作.
为我工作:)但Eclipse似乎并不喜欢它.它似乎认为"src/main/java,src/interfaces"是一个单独的src,因此将其标记为(缺失).

3> sal..:

这对我有用


    .
    
        
        org.apache.maven.plugins
        maven-compiler-plugin
        
        
            src/main/java/**/*.java
            src/main2/java/**/*.java
        
        
        
    


恕我直言不是一个好主意,因为几个插件假设`sourceDirectory` - 可能还有其他`来源` - 作为源文件的根源.在您的解决方案中,`maven-compiler-plugin`是唯一知道这些实际根的插件.
这不会将其添加到项目模型中,因此在IDE中无法正常工作.
@Laurent你是对的.这是几年前的一个好主意,但现在有更好的选择.上面列出的build-helper是我的首选选项.

4> 小智..:

为了使它在intelliJ中工作,你也可以添加

src/main/generated

到maven-compiler-plugin


不过,该路径似乎是由注释处理器生成的源。即使可行,某些插件也可能以不同的方式处理此路径。例如,我希望运行“ clean”时可以删除此目录。
你把它放在哪里?

5> sendon1982..:

这也可以通过定义资源标记与maven一起使用.您可以随意命名您的src文件夹名称.

    
        
            src/main/java
            
                **/*.java
                **/*.properties
                **/*.xml
            
        

        
            src/main/resources
            
                **/*.java
                **/*.properties
                **/*.xml
            
        

        
            src/main/generated
            
                **/*.java
                **/*.properties
                **/*.xml
            
        
    


http://maven.apache.org/pom.html#Resources - >`资源不是(通常)代码.他们没有编译
推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有