小编Suj*_*jen的帖子

如何在maven中安装测试罐?

我有一个我想安装的测试罐.我不确定是否有不同的方法来安装test-jar,例如定义一个告诉maven它是一个测试jar的属性.

此外,groupId和artifactId与进行测试的另一个jar相同.

到目前为止,这是我的安装命令的样子:

mvn install:install-file -DgroupId=com.example -DartifactId=example -Dpackaging=jar -Dversion=1.2.3 -Dfile=example-test.jar -DgeneratePom=true
Run Code Online (Sandbox Code Playgroud)

那么我将如何安装一个测试罐呢?我知道必须要告诉maven它是一个测试jar,因为groupId和artifactId与另一个jar(这将是example-test.jar测试的jar)相同.

jar artifact maven

30
推荐指数
2
解决办法
2万
查看次数

让Maven列出所有使用的插件?

如何让Maven生成它识别的所有插件的列表?

plugins maven

28
推荐指数
1
解决办法
1万
查看次数

如何让maven使用测试资源

当我使用命令:mvn test时,maven使用主要资源而不是src/test/resources中的测试资源.

我如何让maven使用测试资源而不是主要资源?

编辑:我使用Classloader来查找我的资源.类加载器可以从我的src/test/resources目录中找到资源,但它首先在src/main/java中查找资源.

ClassLoader loader = Thread.currentThread().getContextClassLoader();
InputStream file =loader.getResourceAsStream("resource.xml");
Run Code Online (Sandbox Code Playgroud)

或者在运行maven命令时是否可以使用任何属性来优先处理类路径?

编辑2:我已经发现问题,它确实从测试/资源加载测试,但是我的测试涉及部署webapp(集成测试),当webapp访问资源时,它使用src/main/resources.有没有办法改变类路径的顺序,或者为一个部署在jetty容器中的WAR使一个在另一个之前?

java testing maven

14
推荐指数
2
解决办法
2万
查看次数

如何通过setter方法修改私有静态变量

我在名为Example的类中有以下变量:

private static int number;
Run Code Online (Sandbox Code Playgroud)

如果我想使用外部类为变量赋值,我会这样做吗?

1)使示例静态的setter方法,所以我可以像这样访问它:

Example.setNumber(3);
Run Code Online (Sandbox Code Playgroud)

2)或使setter方法非静态,所以我创建一个Example对象来设置数字

Example e = new Example()
e.setNumber(3);
Run Code Online (Sandbox Code Playgroud)

两者之间有什么区别,哪一种更好?

java static

14
推荐指数
2
解决办法
3万
查看次数

如何使Hibernate不丢弃表

我正在使用hibernate,每当我尝试添加记录时,它都会丢弃表并再次添加它.它从不使用现有表并对其进行更改.

这是我的相关部分hibernate.cfg.xml:

<hibernate-configuration>
<session-factory>
  <property name="hibernate.connection.driver_class">org.apache.derby.jdbc.ClientDriver</property>
  <property name="hibernate.connection.url">jdbc:derby://localhost:1527/sample</property>
  <property name="hibernate.connection.username">user</property>
  <property name="hibernate.connection.password">password</property>
  <property name="hibernate.connection.pool_size">10</property>
  <property name="show_sql">true</property>
  <property name="dialect">org.hibernate.dialect.DerbyDialect</property>
  <property name="hibernate.hbm2ddl.auto">update</property>
  <property name = "current_session_context_class">thread</property>
  <!-- Mapping the entities -->
<mapping class="inputDetails.Table1"/>
<mapping class="inputDetails.Table2"/>


  <!--mapping resource="contact.hbm.xml"/-->
</session-factory>
</hibernate-configuration>
Run Code Online (Sandbox Code Playgroud)

这是我保存数据的方式:

SessionFactory factory = new Configuration().configure().buildSessionFactory();
    Session session = factory.getCurrentSession();
    session.beginTransaction();
//...
session.save(newrecord)
session.getTransaction().commit();
Run Code Online (Sandbox Code Playgroud)

hibernate

7
推荐指数
1
解决办法
2万
查看次数

Maven没有使用故障安全插件进行集成测试

当我运行时mvn clean install,对于integration-test阶段它不使用故障安全插件.

但是,如果我明确地调用插件来运行集成测试,它就可以工作(mvn failsafe:integration-test).

如何mvn clean installintegration-test阶段运行时让maven使用故障安全插件?

integration-testing maven maven-failsafe-plugin

5
推荐指数
1
解决办法
2685
查看次数