0

JCodeModel を使用するのは初めてです。MavenプロジェクトでJCodeModelを使用する方法の簡単なデモまたはリンクを誰かに提供してもらえますか? Javaクラスを生成するには、JCodeModelクラスをmavenに正確に配置する必要がありますか?

4

1 に答える 1

0

これを実現するために、2つの異なるMavenプラグインを使用することになりました。まず、mavenantプラグインを使用してコードモデルコードをコンパイルしました。次に、execプラグインを使用してコードモデルコードを実行し、Mavenビルドがビルドの一部として生成されたクラスをビルドできるようにしました。以下にMavenビットを配置しました:

       <plugins>
          ...
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <dependencies>
                <dependency>
                    <groupId>sun.jdk</groupId>
                    <artifactId>tools</artifactId>
                    <version>1.5.0</version>
                    <scope>system</scope>
                    <systemPath>${java.home}/../lib/tools.jar</systemPath>
                </dependency>
            </dependencies>

            <executions>
                <execution>
                    <id>1</id>
                    <phase>process-resources</phase>
                    <configuration>
                        <tasks>
                            <mkdir dir="${basedir}/target/classes" />
                            <javac srcdir="${basedir}/src/main/java/com/generation/" destdir="${basedir}/target/classes" classpathref="maven.compile.classpath">
                            </javac>
                        </tasks>
                    </configuration>
                    <goals>
                        <goal>run</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
         <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.2.1</version>
            <executions>
                <execution>
                    <id>2</id>
                    <phase>process-resources</phase>
                    <goals>
                        <goal>exec</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <executable>java</executable>
                <arguments>
                    <argument>-classpath</argument>
                    <!-- automatically creates the classpath using all project dependencies,
                    also adding the project build directory -->
                    <classpath/>
                    <argument>com.generation.CodeGeneration</argument>
                </arguments>
            </configuration>
         </plugin>
        </plugins>
于 2013-01-07T07:07:23.603 に答える