无法使用命令行编译Java文件。

huangapple go评论102阅读模式
英文:

Can't compile java file using CLI

问题

我做了一些自动化测试,遇到了一个问题,无法编译java文件。
我的源文件夹是项目的文件夹 "Test"。
在这个文件夹里我有两个jar文件:

<b>hamcrest-core-1.3.jar</b>

<b>junit-4.13.jar</b>

我运行了这个命令:

  1. javac -cp junit-4.13.jar;. src\r.java

然后我得到了以下消息:

  1. src\r.java:1: error: package org.junit.jupiter.api does not exist
  2. import static org.junit.jupiter.api.Assertions.fail;
  3. ^
  4. src\r.java:1: error: static import only from classes and interfaces
  5. import static org.junit.jupiter.api.Assertions.fail;
  6. ^
  7. src\r.java:2: error: package org.junit.jupiter.api does not exist
  8. import static org.junit.jupiter.api.Assumptions.assumeTrue;
  9. ^
  10. src\r.java:2: error: static import only from classes and interfaces
  11. import static org.junit.jupiter.api.Assumptions.assumeTrue;
  12. ^
  13. src\r.java:4: error: package org.junit.jupiter.api does not exist
  14. import org.junit.jupiter.api.AfterAll;
  15. ^
  16. src\r.java:5: error: package org.junit.jupiter.api does not exist
  17. import org.junit.jupiter.api.AfterEach;
  18. ^
  19. src\r.java:6: error: package org.junit.jupiter.api does not exist
  20. import org.junit.jupiter.api.BeforeAll;
  21. ^
  22. src\r.java:7: error: package org.junit.jupiter.api does not exist
  23. import org.junit.jupiter.api.BeforeEach;
  24. ^
  25. src\r.java:8: error: package org.junit.jupiter.api does not exist
  26. import org.junit.jupiter.api.Disabled;
  27. ^
  28. src\r.java:9: error: package org.junit.jupiter.api does not exist
  29. import org.junit.jupiter.api.Test;
  30. ^
  31. src\r.java:13: error: cannot find symbol
  32. @BeforeAll
  33. ^
  34. symbol: class BeforeAll
  35. location: class r
  36. src\r.java:17: error: cannot find symbol
  37. @BeforeEach
  38. ^
  39. symbol: class BeforeEach
  40. location: class r
  41. src\r.java:21: error: cannot find symbol
  42. @Test
  43. ^
  44. symbol: class Test
  45. location: class r
  46. src\r.java:25: error: cannot find symbol
  47. @Test
  48. ^
  49. symbol: class Test
  50. location: class r
  51. src\r.java:30: error: cannot find symbol
  52. @Test
  53. ^
  54. symbol: class Test
  55. location: class r
  56. src\r.java:31: error: cannot find symbol
  57. @Disabled("for demonstration purposes")
  58. ^
  59. symbol: class Disabled
  60. location: class r
  61. src\r.java:36: error: cannot find symbol
  62. @Test
  63. ^
  64. symbol: class Test
  65. location: class r
  66. src\r.java:42: error: cannot find symbol
  67. @AfterEach
  68. ^
  69. symbol: class AfterEach
  70. location: class r
  71. src\r.java:46: error: cannot find symbol
  72. @AfterAll
  73. ^
  74. symbol: class AfterAll
  75. location: class r
  76. src\r.java:27: error: cannot find symbol
  77. fail("a failing test");
  78. ^
  79. symbol: method fail(String)
  80. location: class r
  81. src\r.java:38: error: cannot find symbol
  82. assumeTrue("abc".contains("Z"));
  83. ^
  84. symbol: method assumeTrue(boolean)
  85. location: class r
  86. src\r.java:39: error: cannot find symbol
  87. fail("test should have been aborted");
  88. ^
  89. symbol: method fail(String)
  90. location: class r
  91. 22 errors

我的代码是从 https://junit.org/junit5/docs/current/user-guide/ 上的模板。

  1. import static org.junit.jupiter.api.Assertions.fail;
  2. import static org.junit.jupiter.api.Assumptions.assumeTrue;
  3. import org.junit.jupiter.api.AfterAll;
  4. import org.junit.jupiter.api.AfterEach;
  5. import org.junit.jupiter.api.BeforeAll;
  6. import org.junit.jupiter.api.BeforeEach;
  7. import org.junit.jupiter.api.Disabled;
  8. import org.junit.jupiter.api.Test;
  9. class r {
  10. @BeforeAll
  11. static void initAll() {
  12. }
  13. @BeforeEach
  14. void init() {
  15. }
  16. @Test
  17. void succeedingTest() {
  18. }
  19. @Test
  20. void failingTest() {
  21. fail("a failing test");
  22. }
  23. @Test
  24. @Disabled("for demonstration purposes")
  25. void skippedTest() {
  26. // not executed
  27. }
  28. @Test
  29. void abortedTest() {
  30. assumeTrue("abc".contains("Z"));
  31. fail("test should have been aborted");
  32. }
  33. @AfterEach
  34. void tearDown() {
  35. }
  36. @AfterAll
  37. static void tearDownAll() {
  38. }
  39. }

我做错了什么?
请帮忙解决!

英文:

I make some automated tests and faced with an issue that I can't compile the java.file
My source folder is the project's folder "Test".
In this folder i have 2 jar files:

<b>hamcrest-core-1.3.jar</b>

and

<b>junit-4.13.jar</b>

I run this command:

  1. javac -cp junit-4.13.jar;. src\r.java

And I got the next message:

  1. src\r.java:1: error: package org.junit.jupiter.api does not exist
  2. import static org.junit.jupiter.api.Assertions.fail;
  3. ^
  4. src\r.java:1: error: static import only from classes and interfaces
  5. import static org.junit.jupiter.api.Assertions.fail;
  6. ^
  7. src\r.java:2: error: package org.junit.jupiter.api does not exist
  8. import static org.junit.jupiter.api.Assumptions.assumeTrue;
  9. ^
  10. src\r.java:2: error: static import only from classes and interfaces
  11. import static org.junit.jupiter.api.Assumptions.assumeTrue;
  12. ^
  13. src\r.java:4: error: package org.junit.jupiter.api does not exist
  14. import org.junit.jupiter.api.AfterAll;
  15. ^
  16. src\r.java:5: error: package org.junit.jupiter.api does not exist
  17. import org.junit.jupiter.api.AfterEach;
  18. ^
  19. src\r.java:6: error: package org.junit.jupiter.api does not exist
  20. import org.junit.jupiter.api.BeforeAll;
  21. ^
  22. src\r.java:7: error: package org.junit.jupiter.api does not exist
  23. import org.junit.jupiter.api.BeforeEach;
  24. ^
  25. src\r.java:8: error: package org.junit.jupiter.api does not exist
  26. import org.junit.jupiter.api.Disabled;
  27. ^
  28. src\r.java:9: error: package org.junit.jupiter.api does not exist
  29. import org.junit.jupiter.api.Test;
  30. ^
  31. src\r.java:13: error: cannot find symbol
  32. @BeforeAll
  33. ^
  34. symbol: class BeforeAll
  35. location: class r
  36. src\r.java:17: error: cannot find symbol
  37. @BeforeEach
  38. ^
  39. symbol: class BeforeEach
  40. location: class r
  41. src\r.java:21: error: cannot find symbol
  42. @Test
  43. ^
  44. symbol: class Test
  45. location: class r
  46. src\r.java:25: error: cannot find symbol
  47. @Test
  48. ^
  49. symbol: class Test
  50. location: class r
  51. src\r.java:30: error: cannot find symbol
  52. @Test
  53. ^
  54. symbol: class Test
  55. location: class r
  56. src\r.java:31: error: cannot find symbol
  57. @Disabled(&quot;for demonstration purposes&quot;)
  58. ^
  59. symbol: class Disabled
  60. location: class r
  61. src\r.java:36: error: cannot find symbol
  62. @Test
  63. ^
  64. symbol: class Test
  65. location: class r
  66. src\r.java:42: error: cannot find symbol
  67. @AfterEach
  68. ^
  69. symbol: class AfterEach
  70. location: class r
  71. src\r.java:46: error: cannot find symbol
  72. @AfterAll
  73. ^
  74. symbol: class AfterAll
  75. location: class r
  76. src\r.java:27: error: cannot find symbol
  77. fail(&quot;a failing test&quot;);
  78. ^
  79. symbol: method fail(String)
  80. location: class r
  81. src\r.java:38: error: cannot find symbol
  82. assumeTrue(&quot;abc&quot;.contains(&quot;Z&quot;));
  83. ^
  84. symbol: method assumeTrue(boolean)
  85. location: class r
  86. src\r.java:39: error: cannot find symbol
  87. fail(&quot;test should have been aborted&quot;);
  88. ^
  89. symbol: method fail(String)
  90. location: class r
  91. 22 errors

My code is the template from https://junit.org/junit5/docs/current/user-guide/

  1. import static org.junit.jupiter.api.Assertions.fail;
  2. import static org.junit.jupiter.api.Assumptions.assumeTrue;
  3. import org.junit.jupiter.api.AfterAll;
  4. import org.junit.jupiter.api.AfterEach;
  5. import org.junit.jupiter.api.BeforeAll;
  6. import org.junit.jupiter.api.BeforeEach;
  7. import org.junit.jupiter.api.Disabled;
  8. import org.junit.jupiter.api.Test;
  9. class r {
  10. @BeforeAll
  11. static void initAll() {
  12. }
  13. @BeforeEach
  14. void init() {
  15. }
  16. @Test
  17. void succeedingTest() {
  18. }
  19. @Test
  20. void failingTest() {
  21. fail(&quot;a failing test&quot;);
  22. }
  23. @Test
  24. @Disabled(&quot;for demonstration purposes&quot;)
  25. void skippedTest() {
  26. // not executed
  27. }
  28. @Test
  29. void abortedTest() {
  30. assumeTrue(&quot;abc&quot;.contains(&quot;Z&quot;));
  31. fail(&quot;test should have been aborted&quot;);
  32. }
  33. @AfterEach
  34. void tearDown() {
  35. }
  36. @AfterAll
  37. static void tearDownAll() {
  38. }
  39. }

What I do wrong?
Please, help!

答案1

得分: 1

org.junit.juniper 包表示您的代码使用了 JUnit 5。

但是您的类路径中只有 JUnit 4。

要么按照 JUnit 4 用户指南 进行操作,要么更改您的类路径以包含 JUnit 5。

英文:

The org.junit.juniper packages indicates that your code uses JUnit 5.

But you've only got JUnit 4 on your classpath.

Either follow the JUnit 4 user guide or change your classpath to include JUnit 5.

huangapple
  • 本文由 发表于 2020年8月21日 00:13:18
  • 转载请务必保留本文链接:https://go.coder-hub.com/63509156.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定