最近我开始使用Eclipse的java编译器,因为它比标准的javac快得多.我被告知它更快,因为它执行增量编译.但我仍然有点不确定,因为我找不到任何关于eclispse和sun的编辑器"增量功能"的权威文档.是不是Sun的编译器总是编译每个源文件而Eclipse的编译器只编译已更改的文件和那些受此类更改影响的文件?
编辑:我没有使用Eclipse autobuild功能,而是我正在设置
-Dbuild.compiler=org.eclipse.jdt.core.JDTCompilerAdapter
Run Code Online (Sandbox Code Playgroud)
为我的蚂蚁构建.
我有一个Web应用程序,我需要找到访问http请求对象的所有类(因为其中一个导致很难找到bug).因此我想在一些ServletRequest实现的方法中加入断点.然而,这个实现由Weblogic提供,我没有源代码.如何在没有源的情况下在特定方法中的任何地方放置断点.Eclipse IDE是首选.
在我们的项目中,我们在单独的Maven模块中有Service和DAO层.服务模块依赖于DAO模块并与其实体一起使用.问题是我们不能放置自定义jsr 303约束,它使用DAO实体中服务层的一些服务,因为这将创建从DAO层到服务层的后向引用,因为验证器类需要在自定义的validatedBy属性中引用@约束.
有没有办法(使用标准的jsr 303 api)在运行时指定一些自定义约束的验证器类(或以任何其他方式解决我们的问题)?内置约束具有空validatedBy属性,但我不知道是否有一些api.
我们有一个反应堆pom,其子模块是独立版本的,即.子模块声明它自己的版本独立于主pom的版本.但是,两个子模块之间存在依赖关系.如何将此依赖项配置为始终使用由reactor pom的实际模块声明的版本?
我希望我可以在根pom中设置依赖关系管理并使用一些隐式属性来确定子模块的版本,但我能找到最好的选项:
${session.projectDependencyGraph.sortedProjects[0].version}
Run Code Online (Sandbox Code Playgroud)
或者干脆
${reactorProjects[0].version}
Run Code Online (Sandbox Code Playgroud)
以便根pom中的依赖关系管理如下所示:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>mygroup</groupId>
<artifactId>mySubmodule</artifactid>
<version>${reactorProjects[0].version}</version>
</dependency>
</dependencies>
</dependencyManagement>
Run Code Online (Sandbox Code Playgroud)
看起来不可靠,因为当添加新模块或依赖项时,反应器顺序可能会发生变化.
也许这种使用场景不受设计的阻碍,然后我想知道原因.
编辑:正如在注释中建议的那样,在父POM中声明具有子版本的全局属性可能是较新版本的Maven的选项.然而,我希望看到一些关于更广泛后果的分析,如工作流,发布,目录和存储库设置,一些插件使用(例如版本插件)等.例如,我认为这种方法的直接后果是我必须释放父模块释放任何子模块时.虽然这是可行的,但它会影响独立版本控制的最初想法.