小编Kon*_*tor的帖子

Maven故障安全类路径

我已经开始了一个新项目:PostfixSQLConfig。这是一个简单的Spring Boot应用程序,必须为4个简单的数据库表提供CRUD访问。我为第一个表编写了存储库,并为该存储库编写了一些基本的集成测试。由于此特定表不应提供更新功能,因此我将更新功能实现为:

@Override
public void update(@NonNull Domain domain) throws NotUpdatableException {
    throw new NotUpdatableException("Domain entities are read-only");
}
Run Code Online (Sandbox Code Playgroud)

NotUpdatableException我的自定义异常类在哪里。

此代码的IT如下所示:

@Test(expected = NotUpdatableException.class)
public void testUpdate() throws NotUpdatableException {
    val domain = Domain.of("test");

    domainRepository.update(domain);
}
Run Code Online (Sandbox Code Playgroud)

如果从我的IDE(IntelliJ 2018.2 EAP)运行此测试,它将通过,但运行mvn verify失败并显示以下信息:

java.lang.NoClassDefFoundError: com/github/forinil/psc/exception/NotUpdatableException
  at java.lang.Class.getDeclaredMethods0(Native Method)
  at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
  at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
  at java.lang.Class.getMethod0(Class.java:3018)
  at java.lang.Class.getMethod(Class.java:1784)
  at org.apache.maven.surefire.util.ReflectionUtils.tryGetMethod(ReflectionUtils.java:60)
  at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.isSuiteOnly(JUnit3TestChecker.java:65)
  at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.isValidJUnit3Test(JUnit3TestChecker.java:60)
  at org.apache.maven.surefire.common.junit3.JUnit3TestChecker.accept(JUnit3TestChecker.java:55)
  at org.apache.maven.surefire.common.junit4.JUnit4TestChecker.accept(JUnit4TestChecker.java:53)
  at org.apache.maven.surefire.util.DefaultScanResult.applyFilter(DefaultScanResult.java:102)
  at org.apache.maven.surefire.junit4.JUnit4Provider.scanClassPath(JUnit4Provider.java:309)
  at org.apache.maven.surefire.junit4.JUnit4Provider.setTestsToRun(JUnit4Provider.java:189)
  at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:132)
  at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:379)
  at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:340)
  at …
Run Code Online (Sandbox Code Playgroud)

java junit4 maven maven-failsafe-plugin spring-boot

3
推荐指数
1
解决办法
475
查看次数

docker 容器内包含 ssh 命令的 shell 脚本失败并显示 - ssh: not found

我有一个在 docker 容器上运行的 spring boot java 应用程序,它尝试运行 shell 脚本。shell 脚本有一个 ssh 命令,运行时出现以下错误

    2020-08-12 09:22:29.425  INFO 1 --- [io-11013-exec-1] b.n.i.s.d.e.service.EmrManagerService    : Executing spark submit, calling shell script: /tmp/temp843155675494688636.sh 172.29.199.15
    2020-08-12 09:22:29.434 DEBUG 1 --- [io-11013-exec-1] b.n.i.s.d.e.service.EmrManagerService    : Starting Input Stream:
    2020-08-12 09:22:29.435  INFO 1 --- [io-11013-exec-1] b.n.i.s.d.e.service.EmrManagerService    : #1 arg: 172.29.199.15
    2020-08-12 09:22:29.436  INFO 1 --- [io-11013-exec-1] b.n.i.s.d.e.service.EmrManagerService    : Exist Value127
    2020-08-12 09:22:29.436 ERROR 1 --- [io-11013-exec-1] b.n.i.s.d.e.service.EmrManagerService    : Starting Error Stream:
    2020-08-12 09:22:29.436 ERROR 1 --- [io-11013-exec-1] b.n.i.s.d.e.service.EmrManagerService    : 
    /tmp/temp843155675494688636.sh: …
Run Code Online (Sandbox Code Playgroud)

ssh docker

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

标签 统计

docker ×1

java ×1

junit4 ×1

maven ×1

maven-failsafe-plugin ×1

spring-boot ×1

ssh ×1