Maven概要文件不能工作并且测试失败



为了构建多环境jar,我开始使用Maven配置文件。

我是按照官方文档做的。

首先,验证问题:

我已经读到,你应该总是有一个包生成的Maven项目,但我只想生成多环境的jar(即:只更改每个jar的属性文件)。我不认为有必要生成多个项目来做到这一点,我是对的吗?

现在解释:

我有一个应用程序,读取一个文件,并在将一些信息插入数据库之前应用一组特定的评论。我想测试这个验证是否正确,并且无论稍后在数据库中是否失败,我都能得到正确的结果。所以在这个应用程序中,我使用一个动态设置的DAO。这是:我的应用程序从配置中获取DAO类。属性文件在运行时。我创建了一些模拟真实DAO的facade DAO(例如:DAOApproveAll,它将模拟数据库中的所有事务都正常进行)。

在单元测试中,我加载了配置。属性更改(并稍后恢复更改)参数daoimplclass的值,该参数是保存类的参数。例如:
 Properties prop = Configurator.getProperties("config");
    final String DAODEFAULT = prop.getProperty("daoimplclass");
    final static String DAOAPPROVEALL = "com.package.dao.DAOAllApproved";
    public void testAllAproved() {
        try {
            Processor processor = Processor.getInstance();
            prop.setProperty("daoimplclass", DAOAPPROVEALL);
            ...
         }
         finally{prop.setProperty("daoimplclass", DAODEFAULT);}

我做了很多测试(使用不同的DAO facade),以验证如果数据库中出现不同的结果会发生什么。

现在,我改变了我的配置。config-dev. properties到2个文件:config-prod.properties。并将原来的pom.xml更改为使用如下配置文件:
<profiles>
   <profile>
     <id>dev</id>
     <build>
       <plugins>
         <plugin>
           <artifactId>maven-antrun-plugin</artifactId>
           <executions>
             <execution>
               <phase>test</phase>
               <goals>
                 <goal>run</goal>
               </goals>
               <configuration>
                 <tasks>
                   <delete file="${project.build.outputDirectory}/config.properties"/>
                   <copy file="src/main/resources/config-dev.properties"
                         tofile="${project.build.outputDirectory}/config.properties"/>
                 </tasks>
               </configuration>
             </execution>
           </executions>
         </plugin>
         <plugin>
           <artifactId>maven-surefire-plugin</artifactId>
           <configuration>
             <skip>false</skip>
           </configuration>
         </plugin>
         <plugin>
           <artifactId>maven-jar-plugin</artifactId>
           <executions>
             <execution>
               <phase>package</phase>
               <goals>
                 <goal>jar</goal>
               </goals>
               <configuration>
                 <classifier>dev</classifier>
                 <source>1.6</source>
                 <target>1.6</target>
               </configuration>
             </execution>
           </executions>
         </plugin>
       </plugins>
     </build>
   </profile>
    <profile>
     <id>prod</id>
     <build>
       <plugins>
         <plugin>
           <artifactId>maven-antrun-plugin</artifactId>
           <executions>
             <execution>
               <phase>test</phase>
               <goals>
                 <goal>run</goal>
               </goals>
               <configuration>
                 <tasks>
                   <delete file="${project.build.outputDirectory}/config.properties"/>
                   <copy file="src/main/resources/config-prod.properties"
                         tofile="${project.build.outputDirectory}/config.properties"/>
                 </tasks>
               </configuration>
             </execution>
           </executions>
         </plugin>
         <plugin>
           <artifactId>maven-surefire-plugin</artifactId>
           <configuration>
             <skip>true</skip>
           </configuration>
         </plugin>
         <plugin>
           <artifactId>maven-jar-plugin</artifactId>
           <executions>
             <execution>
               <phase>package</phase>
               <goals>
                 <goal>jar</goal>
               </goals>
               <configuration>
                 <classifier>prod</classifier>
                 <source>1.6</source>
                 <target>1.6</target>
               </configuration>
             </execution>
           </executions>
         </plugin>
       </plugins>
     </build>
   </profile>
  </profiles>

现在当我做"清洁和建造"时在Netbeans中,我得到错误执行测试,因为它找不到config.properties。当然,我创建了第三个配置。属性(其他两个将与-dev和-prod一起)使它编译但不生成2个jar文件,而只有一个。


我的正式问题:

  • 我做错了什么配置文件?
  • 我怎么能允许测试运行正常,只对开发?

要通过Netbeans激活配置文件,您可以尝试以下任务:-

    右键单击项目并从上下文菜单中选择properties
  1. 在左侧面板的Categories中选择Configurations
  2. 在右侧面板中,您将看到pom中定义的各种配置文件。您可以通过选择它们并单击Activate按钮来Activate它们,或者您可以通过单击Add按钮来创建新的on。

相关内容

  • 没有找到相关文章

最新更新