如何在创建新Eclipse项目时编写“转换为AspectJ”操作的脚本?

时间:2010-08-10 16:36:32

标签: eclipse maven-2 aspectj ajdt

我有一个命令行脚本,可以为我创建一个(大部分)准备好的Eclipse项目。它使用Maven的eclipse插件,并有一些其他脚本步骤,例如将我们的代码标准设置从我们的repo复制到.settings。这非常方便,因为我需要经常从这个模板中启动新项目。 (对于分支工作,一次性开发实验等)

但该项目使用AspectJ。我无法弄清楚如何自动告诉Eclipse它需要“转换为AspectJ”,因此我必须在每次创建新项目时在Eclipse中手动执行此操作。

有没有办法从命令行配置Eclipse项目以将自己视为AspectJ项目?我正在使用Eclipse 3.4.2和AspectJ插件2.0.0。

2 个答案:

答案 0 :(得分:3)

你需要在你的maven poms内配置这个配置(见maven eclipse plugin: adding additional project natures

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-eclipse-plugin</artifactId>
    <configuration>
      <additionalProjectnatures>
        <projectnature>org.eclipse.ajdt.ui.ajnature</projectnature>
      </additionalProjectnatures>
      <additionalBuildcommands>
        <buildcommand>org.eclipse.ajdt.core.ajbuilder</buildcommand>
      </additionalBuildcommands>
    </configuration>
  </plugin>

这将自动激活AJDT构建器和自然,但我认为没有办法通过命令行指定它。但这至少解决了部分问题。

答案 1 :(得分:0)

您需要更改.project文件以及.classpath文件。

您的.project文件应如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>my.project.name</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
    <buildCommand>
        <name>org.eclipse.ajdt.core.ajbuilder</name>
        <arguments>
        </arguments>
    </buildCommand>
</buildSpec>
<natures>
    <nature>org.eclipse.ajdt.ui.ajnature</nature>
    <nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

在.classpath中,您需要包含AspectJ运行时,您可以通过添加以下行来执行此操作:

<classpathentry kind="con" path="org.eclipse.ajdt.core.ASPECTJRT_CONTAINER"/>

这都假设您正在创建一个简单的项目,并且不包含任何maven支持。根据你的问题,我有点不确定你在寻找什么。