如何使用Maven从特定包中执行java类?

如何使用Maven从特定包中执行java类?,java,eclipse,maven,Java,Eclipse,Maven,在eclipse中有一个包含多个包的项目,并将其转换为maven。 如何从特定包中执行一个java类,java类共享同一包中其他java类的方法 例如: Selenium_Test | src/test/java | package1 | (Test1.class, Utility.class, date.class.etc...) package2 package3 我想要的是执行Test1.java。 我尝试了这个命

在eclipse中有一个包含多个包的项目,并将其转换为maven。 如何从特定包中执行一个java类,java类共享同一包中其他java类的方法

例如:

Selenium_Test
   |
 src/test/java
      |
      package1
         | (Test1.class, Utility.class, date.class.etc...)
      package2
      package3
我想要的是执行Test1.java。 我尝试了这个命令,它执行Test1,但找不到Utility.class,Date.class

错误是:

mvn -Dtest=Test1 test
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Selenium_Test 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ NumberGenerator ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory C:\Selenium_Test\src\main\resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ NumberGenerator ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ NumberGenerator ---
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory C:\Selenium_Test\src\test\resources
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ NumberGenerator ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ NumberGenerator ---
[INFO] Surefire report directory: C:\Selenium_Test\target\surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running Package1.Test1

Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 335.371 sec <<< FAILURE!
Package1.Test1  Time elapsed: 335.37 sec  <<< ERROR!
org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.
Build info: version: '2.44.0', revision: '76d78cf323ce037c5f92db6c1bba601c2ac43ad8', time: '2014-10-23 13:11:40'
System info: host: 'ACQUI-0205', ip: '10.30.163.172', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_11'
Driver info: driver.version: RemoteWebDriver
        at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:593)
        at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:614)
        at org.openqa.selenium.remote.RemoteWebDriver.quit(RemoteWebDriver.java:468)
        at Package1.Utility.<init>(Utility.java:101)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
        at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:24)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:483)
        at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
        at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
        at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
Caused by: org.apache.http.conn.HttpHostConnectException: Connect to 127.0.0.1:7057 [/127.0.0.1] failed: Connection refused: connect
        at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:140)
        at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:318)
        at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:363)
        at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:219)
        at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:195)
        at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86)
        at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108)
        at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:72)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:57)
        at org.openqa.selenium.remote.HttpCommandExecutor.fallBackExecute(HttpCommandExecutor.java:215)
        at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:184)
        at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.execute(NewProfileExtensionConnection.java:165)
        at org.openqa.selenium.firefox.FirefoxDriver$LazyCommandExecutor.execute(FirefoxDriver.java:362)
        at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:572)
        ... 26 more
Caused by: java.net.ConnectException: Connection refused: connect
        at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
        at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345)
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at org.apache.http.conn.socket.PlainConnectionSocketFactory.connectSocket(PlainConnectionSocketFactory.java:72)
        at org.apache.http.impl.conn.HttpClientConnectionOperator.connect(HttpClientConnectionOperator.java:123)
        ... 40 more
mvn-Dtest=Test1测试
[信息]正在扫描项目。。。
[信息]
[信息]------------------------------------------------------------------------
[信息]正在构建Seleniu测试1.0-SNAPSHOT
[信息]------------------------------------------------------------------------
[信息]
[信息]---maven资源插件:2.6:resources(默认资源)@NumberGenerator---
[警告]使用平台编码(实际上是Cp1252)复制过滤后的资源,即构建依赖于平台!
[信息]跳过不存在的资源目录C:\Selenium\u Test\src\main\resources
[信息]
[信息]---maven编译器插件:2.3.2:compile(默认编译)@NumberGenerator---
[信息]无需编译-所有类都是最新的
[信息]
[信息]---maven资源插件:2.6:testResources(默认testResources)@NumberGenerator---
[警告]使用平台编码(实际上是Cp1252)复制过滤后的资源,即构建依赖于平台!
[信息]跳过不存在的资源目录C:\Selenium\u Test\src\Test\resources
[信息]
[信息]---maven编译器插件:2.3.2:testCompile(默认testCompile)@NumberGenerator---
[信息]无需编译-所有类都是最新的
[信息]
[信息]---maven surefire插件:2.12.4:test(默认测试)@NumberGenerator---
[信息]Surefire报告目录:C:\Seleniu\u Test\target\Surefire报告
-------------------------------------------------------
T T S T S
-------------------------------------------------------
运行包1.Test1
测试运行:1,失败:0,错误:1,跳过:0,经过的时间:335.371秒您可以为此使用

以下是在项目pom中激活插件的方式:

<project>
  ...
  <build>
    <!-- To define the plugin version in your parent POM -->
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>1.3.2</version>
        </plugin>
        ...
      </plugins>
    </pluginManagement>
    <!-- To use the plugin goals in your POM or parent POM -->
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.3.2</version>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project>

<> P>编写测试代码时,请考虑使用框架或java来执行它们。< /P>使用Excel插件,你能显示导入语句和错误堆栈跟踪的代码片段吗?我不使用Excel插件,代码太大,无法粘贴代表主类的东西。我尝试过这个MVN Exc:Java-DEXEC。我在Seleniu项目上执行goal org.codehaus.mojo:exec maven plugin:1.3.2:java(默认cli)失败。测试:goal org.codehaus.mojo:exec maven plugin:1.3.2:java的参数'mainClass'丢失或无效->帮助1]我发现了问题,它来自itext pdf Libraries,我使用itext pdf 5.5.3,我必须找到这个版本的Extrajar,我还没有找到。
mvn exec:java -Dexec.mainClass="com.example.Main"