我的maven文件定义如下,以便从apache torque生成源代码。
<build>
<plugins>
<plugin>
<groupId>org.apache.torque</groupId>
<artifactId>torque-maven-plugin</artifactId>
<version>4.0-beta1</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<packaging>classpath</packaging>
<configPackage>org.apache.torque.templates.om</configPackage>
<sourceDir>src/main/schema</sourceDir>
<defaultOutputDir>src/main/java/generated-java</defaultOutputDir>
<options>
<torque.om.package>com.project.om</torque.om.package>
<torque.database>mysql</torque.database>
</options>
</configuration>
</execution>
<execution>
<id>generate-sql</id>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<packaging>classpath</packaging>
<configPackage>org.apache.torque.templates.sql</configPackage>
<sourceDir>src/main/schema</sourceDir>
<defaultOutputDir>src/main/resources/generated-sql</defaultOutputDir>
<defaultOutputDirUsage>none</defaultOutputDirUsage>
<options>
<torque.database>mysql</torque.database>
</options>
</configuration>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.apache.torque</groupId>
<artifactId>torque-templates</artifactId>
<version>4.0-beta1</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>sql-maven-plugin</artifactId>
<version>1.4</version>
<configuration>
<driver>org.gjt.mm.mysql.Driver</driver>
<url>jdbc:mysql://localhost:3306/daydiary</url>
<username>root</username>
<password>mysql</password>
<onError>continue</onError>
<autocommit>true</autocommit>
<fileset>
<basedir>${basedir}/target/generated-sql</basedir>
<includes>
<include>*.sql</include>
</includes>
</fileset>
</configuration>
<dependencies>
<dependency>
<artifactId>mysql-connector-java</artifactId>
<groupId>mysql</groupId>
<version>5.0.4</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<!-- setting java version to 1.5 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
对于此maven创建以下文件夹结构,如图所示 我需要在src / main / java文件夹下生成的每个代码。我怎样才能实现。?
答案 0 :(得分:1)
您生成的课程将转到<defaultOutputDir>src/main/java/generated-java</defaultOutputDir>
,但maven中src/main/java
下的所有文件夹都会被视为包名称。所以它认为generated-java
是包名,但在类中,包名称被指定为com.project.om
,这就是为什么它在IDE中显示为错误。
我不确定这个插件是如何工作的,但是你可以尝试将输出目录更改为'src / main / java'它可能不起作用,因为插件可能在生成src文件之前清理这个目录而你不想要你的要删除的文件。
其他选项是在src / main / java文件夹之外生成那些文件(例如在默认位置),然后: 将这些文件复制到src / main / java目录,例如使用maven-antrun-plugin 使用build-helper-maven-plugin将这些生成文件的位置添加为源目录。