我正在做一个maven转换为gradle,并希望看到关于执行以下操作的最佳方式的意见.我目前在src/main/webapp下有多个文件.有些需要过滤,有些需要在另一个过滤.
理论上在src/main/webapp下我有一个包含html和二进制文件的目录foo,在webapp下有许多其他文件,包括html.我想只过滤foo/*.html文件.
在我的概念build.gradle中,我可以这样做:
war {
eachFile {
if(shouldFilter(it)) {
it.filter(ReplaceTokens, tokens: [key: 'value'])
}
}
}
def shouldFilter(input) {
input.path.contains('foo') && input.name.endsWith('.html')
}
Run Code Online (Sandbox Code Playgroud)
或将每个子集移动到默认情况下未复制的自己的目录中
war {
from('src/main/foo-pre-filter') {
into 'foo'
include '*.html'
filter(ReplaceTokens, tokens: [key: 'value'])
}
}
Run Code Online (Sandbox Code Playgroud)
还是我错过了另一种选择?
现在我的蚂蚁任务看起来像.
<javadoc sourcepath="${source}" destdir="${doc}">
<link href="http://java.sun.com/j2se/1.5.0/docs/api/" />
</javadoc>
Run Code Online (Sandbox Code Playgroud)
而且我收到了这个警告:
javadoc: warning - Error fetching URL: http://java.sun.com/j2se/1.5.0/docs/api/package-list
Run Code Online (Sandbox Code Playgroud)
如何让javadoc正确链接到API?我支持代理.
这特别是关于grails 1.3.7应用程序,但希望答案也适用于较新版本.下面的代码是所需内容的简化版本.正在注入accountService.下面的片段做了它应该做的事情,但显然是重复的代码.这是位于grails-app/conf中的UserFilter类
如何从过滤器中提取常用逻辑并保持重定向和检查会话的功能?我已经尝试将一个方法提取到过滤器类中,传递会话和闪存,但重定向仍然给我带来问题.
def filters = {
// ... other filters ...
adminAllCheck(controller: 'administration', action: '*') {
before = {
if(!session.isAdmin) {
if(accountService.isAdmin()) {
session.isAdmin = true
} else {
flash.message = 'Non admin'
redirect(controller: 'home', action: 'index')
return false
}
}
true
}
}
userListCheck(controller: 'user', action: 'list') {
before = {
if(!session.isAdmin) {
if(accountService.isAdmin()) {
session.isAdmin = true
} else {
flash.message = 'Non admin'
redirect(controller: 'home', action: 'index')
return false
}
}
true
}
}
}
Run Code Online (Sandbox Code Playgroud) 更新
从Hudson Findbugs插件版本4.3开始,这不再是一个问题
结束更新
作为我的问题的一个例子,我正在尝试构建以下项目http://www.sonatype.com/books/mvnex-book/reference/multimodule.html
我将以下内容添加到simple-parent/pom.xml中
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>2.3</version>
<configuration>
<findbugsXmlOutput>true</findbugsXmlOutput>
<findbugsXmlWithMessages>true</findbugsXmlWithMessages>
<xmlOutput>true</xmlOutput>
</configuration>
</plugin>
</plugins>
</reporting>
Run Code Online (Sandbox Code Playgroud)
以下是simple-weather/pom.xml和simple-webapp/pom.xml
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
</plugin>
</plugins>
</reporting>
Run Code Online (Sandbox Code Playgroud)
我将以下可怕的equals方法插入到其中一个类中,以使FindBugs生成一些问题(因为0错误没有错误):
public boolean equals(Object o) { return true; }
Run Code Online (Sandbox Code Playgroud)
我正在使用Hudson和maven2风格的项目.这项工作的目标是实现目标的简单父母
clean site
Run Code Online (Sandbox Code Playgroud)
我得到以下异常:
[INFO] Generating "FindBugs Report" report.
[java] Warnings generated: 2
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Cannot inherit from final class
[INFO] ------------------------------------------------------------------------
[INFO] Trace
java.lang.VerifyError: Cannot inherit from final class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621) …
Run Code Online (Sandbox Code Playgroud)