在我的项目中,我有一个名为的文件夹war.它最初是空的,并且受版本控制.该文件夹在其package阶段由Maven填充,Eclipse的WST插件从该文件夹部署Web应用程序.
我想要的是war在clean阶段中删除文件夹的内容,但不删除文件夹本身.我怎么做?到目前为止,我知道如何删除整个war文件夹:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-clean-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<followSymLinks>false</followSymLinks>
<filesets>
<fileset>
<directory>${basedir}/war</directory>
</fileset>
</filesets>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
如何仅删除war文件夹的内容而不删除文件夹本身?我知道通过添加一些现有的排除项,该文件夹不会被删除.但是如何一般只删除文件夹的内容?
我有一个注释@MyAnnotation,我可以用它来注释任何类型(类).然后我有一个被调用的类AnnotatedClassRegister,我希望它注册所有注释的类,@MyAnnotation以便我以后可以访问它们.我想在创建AnnotatedClassRegister可能的情况下自动注册这些类,最重要的是在注释类被实例化之前.
我有AspectJ和Guice供我使用.到目前为止我提出的唯一解决方案是使用Guice将一个方面的单例实例注入AnnotatedClassRegister到一个方面,该方法搜索所有注释的类,@MyAnnotation并添加在其构造函数中注册此类所需的代码.这个解决方案的缺点是我需要实例化每个带注释的类,以便实际运行AOP添加的代码,因此我不能利用这些类的延迟实例化.
我解决方案的简化伪代码示例:
// This is the class where annotated types are registered
public class AnnotatedClassRegister {
public void registerClass(Class<?> clz) {
...
}
}
// This is the aspect which adds registration code to constructors of annotated
// classes
public aspect AutomaticRegistrationAspect {
@Inject
AnnotatedClassRegister register;
pointcutWhichPicksConstructorsOfAnnotatedClasses(Object annotatedType) :
execution(/* Pointcut definition */) && args(this)
after(Object annotatedType) :
pointcutWhichPicksConstructorsOfAnnotatedClasses(annotatedType) {
// registering the class of object whose …Run Code Online (Sandbox Code Playgroud) 我正在使用Maven构建一个GWT应用程序来进行依赖项解析,当我尝试运行JUnit测试时,我遇到了一个奇怪的问题.我有一个标准的maven式结构的源和测试:
/src/main/java
/src/test/java
Run Code Online (Sandbox Code Playgroud)
如果我将所有源文件夹的Java Build Bath> Default输出文件夹设置为:
/MyProject/target/classes
Run Code Online (Sandbox Code Playgroud)
那没有问题.但是,GWT插件需要源驻留在:
/MyProject/src/main/webapp/WEB-INF/classes
Run Code Online (Sandbox Code Playgroud)
为了能够在开发模式下从这个目录部署,否则它会抱怨.但是,如果我将所有源文件夹的输出目录设置为此目录,则测试将失败并出现ClassNotFoundException.
如果我手动将目录添加/MyProject/src/main/webapp/WEB-INF/classes到JUnit启动程序的类路径中,这可以解决,因此,显然,编译的.class文件丢失,因此我得到的异常.但是,如果我将目录定义为默认输出目录,为什么eclipse不会自动将目录添加到类路径中?
我怀疑m2eclipse插件会覆盖默认输出文件夹设置,可以吗?因为如果我将输出文件夹设置为/src/main/javato /target/classes和src/test/javato /target/test-classes,一切正常.但是如果在这两个输出目录之外设置了任何输出目录,则它不起作用.
我很感激任何想法,谢谢!
annotations ×1
aop ×1
eclipse ×1
guice ×1
gwt ×1
java ×1
m2eclipse ×1
maven ×1
maven-2 ×1
reflection ×1