2017-06-21 2 views
0

J'ai créé un nouveau projet Java basé sur maven dans NetBeans. Quand je n'ai pas ajouté de dépendances, tout fonctionne bien mais quand j'utilise le fichier pom ci-dessous (à partir d'un projet différent, qui est similaire), l'écran d'exécution affiche BUILD SUCCESS sans afficher les instructions System.out.print ou toute sortie de l'enregistreur.maven compile ne produit aucune sortie dans NetBeans

Le fichier pom

<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.optum.cda</groupId> 
    <artifactId>cda</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <properties> 
    <ctakes.version>4.0.0</ctakes.version> 
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

    <build> 
     <pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-compiler-plugin</artifactId> 
       <version>3.6.1</version> 
       <configuration> 
        <verbose>true</verbose> 
        <source>1.8</source> 
        <target>1.8</target> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>exec-maven-plugin</artifactId> 
       <version>1.6.0</version> 
       <configuration> 
        <verbose>true</verbose> 
        <executable>java</executable> 
        <arguments> 
        <argument>-Xms512m</argument> 
        <argument>-Xmx512m</argument> 
        <argument>-XX:NewRatio=3</argument> 
        <argument>-XX:+PrintGCTimeStamps</argument> 
        <argument>-XX:+PrintGCDetails</argument> 
        <argument>-Xloggc:gc.log</argument> 
        <argument>-classpath</argument> 
        <classpath/> 
        <!--<argument>com.redstack.App</argument>--> 
        </arguments> 
       </configuration> 
      </plugin> 
     </plugins> 
     </pluginManagement> 
    </build> 

    <!-- Adding cTAKES Dependecies here --> 
    <dependencies> 

     <!-- ctakes-core contains core classes, utilities, and commonly-used readers, writers and analysis engines. --> 
     <!-- ctakes-core will pull from maven central basic requirements: uima, uimafit, cleartk, type system ... --> 
     <!-- All other modules require ctakes-core. --> 
     <dependency> 
     <groupId>org.apache.ctakes</groupId> 
     <artifactId>ctakes-core</artifactId> 
     <version>${ctakes.version}</version> 
     </dependency> 

     <!-- ctakes-pos-tagger tags parts of speech for tokens in text. --> 
     <!-- ctakes-pos-tagger is required for ctakes-dictionary-lookup and ctakes-dictionary-lookup-fast. --> 
     <dependency> 
     <groupId>org.apache.ctakes</groupId> 
     <artifactId>ctakes-pos-tagger</artifactId> 
     <version>${ctakes.version}</version> 
     </dependency> 

     <!-- ctakes-chunker chunks tokens with parts of speech into phrases. --> 
     <!-- ctakes-chunker is required for the old ctakes-dictionary-lookup. --> 
     <dependency> 
     <groupId>org.apache.ctakes</groupId> 
     <artifactId>ctakes-chunker</artifactId> 
     <version>${ctakes.version}</version> 
     </dependency> 

     <!-- ctakes-lvg generates lexical variants of tokens in text. --> 
     <dependency> 
     <groupId>org.apache.ctakes</groupId> 
     <artifactId>ctakes-lvg</artifactId> 
     <version>${ctakes.version}</version> 
     </dependency> 

     <!-- ctakes-dictionary-lookup-fast discovers concepts in text and normalizes them to standard codes. --> 
     <!-- ctakes-dictionary-lookup-fast is much improved over the original ctakes-dictionary-lookup. --> 
     <dependency> 
     <groupId>org.apache.ctakes</groupId> 
     <artifactId>ctakes-dictionary-lookup-fast</artifactId> 
     <version>${ctakes.version}</version> 
     </dependency>  

     <!-- ctakes-assertion contains rule-based and machine-learning engines to discover entity attributes. --> 
     <!-- attributes: polarity, uncertainty, history_of, conditional, generic, subject --> 
     <!-- ctakes-assertion discovers more attributes than the ctakes-ne-contexts module. --> 
     <!-- ctakes-assertion will add ctakes-constituency-parser and ctakes-dependency-parser modules. --> 
     <!-- ctakes-assertion module requires mitre libraries that are not in maven central. --> 
     <dependency> 
     <groupId>org.apache.ctakes</groupId> 
     <artifactId>ctakes-assertion</artifactId> 
     <version>${ctakes.version}</version> 
     </dependency> 

     <!-- ctakes-ne-contexts contains rule-based engines to discover entity attributes. --> 
     <!-- attributes: polarity, status --> 
     <dependency> 
     <groupId>org.apache.ctakes</groupId> 
     <artifactId>ctakes-ne-contexts</artifactId> 
     <version>${ctakes.version}</version> 
     </dependency> 

     <!-- ctakes-drug-ner discovers Medications and related attributes such as strength, dosage, frequency, etc.--> 
     <!-- ctakes-drug-ner will add ctakes-chunker, ctakes-lvg, ctakes-dictionary-lookup, 
      ctakes-context-tokenizer, ctakes-ne-contexts modules. --> 
     <dependency> 
     <groupId>org.apache.ctakes</groupId> 
     <artifactId>ctakes-drug-ner</artifactId> 
     <version>${ctakes.version}</version> 
     </dependency> 

     <!-- ctakes-ytex and ctakes-ytex-uima are a collection of ctakes extensions. --> 
     <!-- ctakes-ytex-uima will add ctakes-pos-tagger, ctakes-chunker, ctakes-lvg, 
      ctakes-dictionary-lookup, ctakes-context-tokenizer, ctakes-constituency-parser, 
      ctakes-dependency-parser, ctakes-assertion, ctakes-ne-contexts. --> 
     <dependency> 
     <groupId>org.apache.ctakes</groupId> 
     <artifactId>ctakes-ytex</artifactId> 
     <version>${ctakes.version}</version> 
     </dependency> 


     <!-- ctakes-clinical-pipeline contributes very little on its own, but loads many other modules. --> 
     <!-- ctakes-temporal will add ctakes-preprocessor, ctakes-pos-tagger, ctakes-chunker, ctakes-lvg, 
      ctakes-dictionary-lookup-fast, ctakes-context-tokenizer, ctakes-constituency-parser, 
      ctakes-dependency-parser, ctakes-assertion, ctakes-ne-contexts, ctakes-drug-ner, ctakes-ytex-uima. --> 
     <dependency> 
     <groupId>org.apache.ctakes</groupId> 
     <artifactId>ctakes-clinical-pipeline</artifactId> 
     <version>${ctakes.version}</version> 
     </dependency> 


     <!-- ctakes-relation-extractor can extract relations between entities such as location and degree. --> 
     <!-- ctakes-relation-extractor will add ctakes-pos-tagger, ctakes-chunker, ctakes-lvg, 
      ctakes-dictionary-lookup, ctakes-context-tokenizer, ctakes-constituency-parser, 
      ctakes-dependency-parser, ctakes-ne-contexts. --> 
     <dependency> 
     <groupId>org.apache.ctakes</groupId> 
     <artifactId>ctakes-relation-extractor</artifactId> 
     <version>${ctakes.version}</version> 
     </dependency> 


     <!-- ctakes-temporal discovers entities, temporal expressions, temporal relations, 
      and document-creation-time relativity. --> 
     <!-- ctakes-temporal will add ctakes-pos-tagger, ctakes-chunker, ctakes-lvg, 
      ctakes-dictionary-lookup-fast, ctakes-context-tokenizer, ctakes-constituency-parser, 
      ctakes-dependency-parser, ctakes-relation-extractor, ctakes-clinical-pipeline. --> 
     <dependency> 
     <groupId>org.apache.ctakes</groupId> 
     <artifactId>ctakes-temporal</artifactId> 
     <version>${ctakes.version}</version> 
     </dependency> 


     <!-- ctakes-coreference discovers coreferent entities in text. --> 
     <!-- ctakes-coreference will add ctakes-constituency-parser, ctakes-dictionary-lookup, ctakes-assertion, 
      ctakes-temporal and a large UMLS database. --> 
     <dependency> 
     <groupId>org.apache.ctakes</groupId> 
     <artifactId>ctakes-coreference</artifactId> 
     <version>${ctakes.version}</version> 
     </dependency>  

    </dependencies> 
    <!-- End of cTAKES Dependencies --> 

</project> 

La sortie que je reçois sur mon dossier en cours d'exécution principal:

cd C:\Users\tdas1006\Documents\NetBeansProjects\cda; "JAVA_HOME=C:\\Program Files\\Java\\jdk1.8.0_131" cmd /c "\"\"C:\\Program Files\\NetBeans 8\\NetBeans 8.2\\java\\maven\\bin\\mvn.bat\" -Dexec.args=\"-classpath %classpath com.optum.cda.main.Test\" -Dexec.executable=\"C:\\Program Files\\Java\\jdk1.8.0_131\\bin\\java.exe\" -Dexec.classpathScope=runtime -Dmaven.ext.class.path=\"C:\\Program Files\\NetBeans 8\\NetBeans 8.2\\java\\maven-nblib\\netbeans-eventspy.jar\" -Dfile.encoding=UTF-8 org.codehaus.mojo:exec-maven-plugin:exec\"" 
Running NetBeans Compile On Save execution. Phase execution is skipped and output directories of dependency projects (with Compile on Save turned on) will be used instead of their jar artifacts. 
[INFO] Scanning for projects... 
[INFO]                   
[INFO] ------------------------------------------------------------------------ 
[INFO] Building cda 1.0-SNAPSHOT 
[INFO] ------------------------------------------------------------------------ 
[INFO] 
[INFO] --- exec-maven-plugin:1.6.0:exec (default-cli) @ cda --- 
[INFO] ------------------------------------------------------------------------ 
[INFO] BUILD SUCCESS 
[INFO] ------------------------------------------------------------------------ 
[INFO] Total time: 6.353s 
[INFO] Finished at: Thu Jun 22 01:41:42 IST 2017 
[INFO] Final Memory: 11M/122M 
[INFO] ------------------------------------------------------------------------ 

Quel pourrait être le problème ??

+0

Quels sont les objectifs que vous exécutez? Exécutez-vous maven depuis la ligne de commande ou via un plugin dans NetBeans? – Inxsible

+0

J'utilise le de maven et l'exécute en utilisant l'option Run File dans netbeans –

+0

avez-vous configuré l'objectif à exécuter lorsque vous cliquez sur l'option Exécuter le fichier. Pas très familier avec NetBeans, mais dans Eclipse, vous devez configurer l'objectif à exécuter lorsque vous faites un clic droit sur le fichier pom et choisissez Exécuter en tant que - Maven Build – Inxsible

Répondre

0

J'ai trouvé une solution, mais je ne comprends vraiment pas pourquoi cela fonctionne. Peut-être que quelqu'un pourrait le signaler. Ce que j'ai fait était de changer les arguments pour l'objectif maven à exécuter (org.codehaus.mojo: exec-maven-plugin: exec). Auparavant, il utilisait java pour exécuter les classes qui causaient le problème. Quand je suis passé à utiliser javaw au lieu de Java comme l'exécutable tout fonctionne normalement, je ne sais pas pourquoi!

J'ai changé le fichier nbactions.xml pour inclure javaw dans les objectifs. Le fichier édité:

<?xml version="1.0" encoding="UTF-8"?> 
<actions> 
     <action> 
      <actionName>run</actionName> 
      <packagings> 
       <packaging>jar</packaging> 
      </packagings> 
      <goals> 
       <goal>process-classes</goal> 
       <goal>org.codehaus.mojo:exec-maven-plugin:exec</goal> 
      </goals> 
      <properties> 
       <exec.args>-classpath %classpath ${packageClassName}</exec.args> 
       <exec.executable>javaw</exec.executable> 
      </properties> 
     </action> 
     <action> 
      <actionName>run.single.main</actionName> 
      <packagings> 
       <packaging>*</packaging> 
      </packagings> 
      <goals> 
       <goal>process-classes</goal> 
       <goal>org.codehaus.mojo:exec-maven-plugin:exec</goal> 
      </goals> 
      <properties> 
       <exec.args>-classpath %classpath ${packageClassName}</exec.args> 
       <exec.executable>javaw</exec.executable> 
       <exec.classpathScope>${classPathScope}</exec.classpathScope> 
      </properties> 
     </action> 
     <action> 
      <actionName>debug</actionName> 
      <packagings> 
       <packaging>jar</packaging> 
      </packagings> 
      <goals> 
       <goal>process-classes</goal> 
       <goal>org.codehaus.mojo:exec-maven-plugin:1.2.1:exec</goal> 
      </goals> 
      <properties> 
       <exec.args>-Xdebug -Xrunjdwp:transport=dt_socket,server=n,address=${jpda.address} -classpath %classpath ${packageClassName}</exec.args> 
       <exec.executable>javaw</exec.executable> 
       <jpda.listen>true</jpda.listen> 
      </properties> 
     </action> 
     <action> 
      <actionName>debug.single.main</actionName> 
      <packagings> 
       <packaging>*</packaging> 
      </packagings> 
      <goals> 
       <goal>process-classes</goal> 
       <goal>org.codehaus.mojo:exec-maven-plugin:1.2.1:exec</goal> 
      </goals> 
      <properties> 
       <exec.args>-Xdebug -Xrunjdwp:transport=dt_socket,server=n,address=${jpda.address} -classpath %classpath ${packageClassName}</exec.args> 
       <exec.executable>javaw</exec.executable> 
       <exec.classpathScope>${classPathScope}</exec.classpathScope> 
       <jpda.listen>true</jpda.listen> 
      </properties> 
     </action> 
     <action> 
      <actionName>profile</actionName> 
      <packagings> 
       <packaging>jar</packaging> 
      </packagings> 
      <goals> 
       <goal>process-classes</goal> 
       <goal>org.codehaus.mojo:exec-maven-plugin:1.2.1:exec</goal> 
      </goals> 
      <properties> 
       <exec.args>-classpath %classpath ${packageClassName}</exec.args> 
       <exec.executable>javaw</exec.executable> 
      </properties> 
     </action> 
     <action> 
      <actionName>profile.single.main</actionName> 
      <packagings> 
       <packaging>*</packaging> 
      </packagings> 
      <goals> 
       <goal>process-classes</goal> 
       <goal>org.codehaus.mojo:exec-maven-plugin:1.2.1:exec</goal> 
      </goals> 
      <properties> 
       <exec.args>-classpath %classpath ${packageClassName}</exec.args> 
       <exec.executable>javaw</exec.executable> 
       <exec.classpathScope>${classPathScope}</exec.classpathScope> 
      </properties> 
     </action> 
    </actions>