मैं एक codebase :)मैवेन से, मैं एक कक्षा कैसे चला सकता हूं जो src/test/java के अंतर्गत रहता है?
src/परीक्षण/जावा के तहत विरासत में मिला है/एक फ़ाइल है कि मैं चलाने की आवश्यकता नहीं है (मैं इसे भीतर अपनी public static void main(String[] args)
, नहीं एक @Test
विधि चलाने की आवश्यकता)।
निकटतम मुझे मिल गया है:
mvn -e exec:java -Dexec.mainClass="com.me.packagex.RunFile" -Dexec.classpathScope="test"
लेकिन वह तो विफल रहता है, और यह प्रतीत होता है क्योंकि RunFile कक्षाएं कि src के तहत मौजूद/मुख्य/जावा/com/मुझे/packagex/(उपयोग करना चाहता है नोटिस,/मुख्य /, नहीं/परीक्षण /)। वहां मौजूद फाइलें उसी पैकेज में हैं जैसे रनफाइल, यानी 'पैकेज com.me.packagex;'।
यदि मैं -Dexec.classpathScope="test"
हटा देता हूं तो यह रनफाइल बिल्कुल नहीं मिल सकता है। ऐसा लगता है कि मुझे इसे दो स्कोप देने की ज़रूरत है, लेकिन यह "परीक्षण, संकलन" स्वीकार नहीं करता है।
जिस व्यक्ति को मैंने इसे प्राप्त किया है (प्रिय रूप से प्रस्थान) इसे ग्रहण से चलाने के लिए उपयोग किया जाता है। मुझे इसे कमांड लाइन से चलाने का एक तरीका चाहिए।
मुझे आशा है कि यह स्पष्ट रूप से समझाया जाएगा।
tyvm,
यह आशाजनक है। पास्कल, मैंने आपके उदाहरण की कोशिश की है और मेरे लिए काम नहीं करता है।
हालांकि अब मैं इसे देखता हूं - यह डॉग नहीं ढूंढने के बजाय डेमो नहीं ढूंढ रहा है।
Apache Maven 2.2.1 (rdebian-1)
Java version: 1.6.0_18
Java home: /usr/lib/jvm/java-6-openjdk/jre
Default locale: en_GB, platform encoding: UTF-8
OS name: "linux" version: "2.6.32-25-generic" arch: "i386" Family: "unix"
$ mvn -e exec:java -Dexec.mainClass="com.stackoverflow.Demo" -Dexec.classpathScope="test"
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] An exception occured while executing the Java class. com.stackoverflow.Demo
[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: An exception occured while executing the Java class. com.stackoverflow.Demo
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: An exception occured while executing the Java class. com.stackoverflow.Demo
at org.codehaus.mojo.exec.ExecJavaMojo.execute(ExecJavaMojo.java:346)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
... 17 more
Caused by: java.lang.ClassNotFoundException: com.stackoverflow.Demo
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:284)
at java.lang.Thread.run(Thread.java:619)
क्या आप अपना त्रुटि ट्रेस पोस्ट कर सकते हैं? आपके यहां जो काम है वह मेरे लिए काम करता है। – javamonkey79
मैं मूर्ख हूं, पास्कल काम नहीं करता क्योंकि मैंने संकलन/परीक्षण-संकलन नहीं किया था। मूल उदाहरण के लिए त्रुटि ट्रेस को और अधिक बारीकी से देख रहे हैं। – woddle