2017-09-18 9 views
0

이클립스에서 내 maven 프로젝트에 외부 종속성을 제공하려고합니다. 따라서 jar 파일과 POM.xml을 로컬 Maven 저장소에 직접 복사했습니다. 그러나 어떻게 든 이클립스는 항아리의 POM이 유효하지 않다고 불평하고 있습니다. 로컬 저장소에서 jar 파일에 대한jar에 대한 POM이 유효하지 않으며 전이 종속성을 사용할 수 없습니다.

내 pom.xml 파일은 다음과 같습니다

<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> 

    <parent> 
    <groupId>com.b.t</groupId> 
    <artifactId>v-parent</artifactId> 
    <version>3.9.0</version> 
    </parent> 

    <scm> 
     <developerConnection>scm:svn:url/</developerConnection> 
    </scm> 

    <artifactId>v-p</artifactId> 
    <version>1.1.0</version> 
    <name>p</name> 
    <build> 
    <plugins> 
     <!-- Plugin required to build java classes from XSD using XJC --> 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>jaxb2-maven-plugin</artifactId> 
     <version>1.5</version> 
     <executions> 
      <execution> 
      <id>xjc</id> 
      <goals> 
       <goal>xjc</goal> 
      </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <arguments>-npa</arguments> 
      <schemaDirectory>${project.basedir}/src/main/resources</schemaDirectory> 
      <packageName>com.b.t.v.fusion.p.generated</packageName> 
      <schemaFiles>pConfig.xsd</schemaFiles> 
      <outputDirectory>${basedir}/target/generated-sources</outputDirectory> 
     </configuration> 
     </plugin> 
    </plugins> 
    <pluginManagement> 
     <plugins>  
     <!-- Plugin required to add the generated sources to the classpath --> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>build-helper-maven-plugin</artifactId> 
      <version>1.8</version> 
      <executions> 
      <execution> 
       <phase>generate-sources</phase> 
       <goals> 
       <goal>add-source</goal> 
       </goals> 
       <configuration> 
       <sources> 
        <source>${basedir}/target/generated-sources</source> 
       </sources> 
       </configuration> 
      </execution> 
      </executions> 
     </plugin> 
     </plugins> 
    </pluginManagement> 
    </build> 


    <dependencies> 
     <dependency> 
     <groupId>com.b.t</groupId> 
     <artifactId>v-fusioninterface</artifactId> 
     </dependency> 
     <dependency> 
     <!-- FFT --> 
     <groupId>com.github.wendykierp</groupId> 
     <artifactId>JTransforms</artifactId> 
     <version>3.1</version> 
     </dependency> 
     <dependency> 
     <!-- Reading and writing of MATLAB files --> 
     <groupId>net.sourceforge.jmatio</groupId> 
     <artifactId>jmatio</artifactId> 
     <version>1.0</version> 
     </dependency> 
    <dependency> 
     <groupId>ch.qos.logback</groupId> 
     <artifactId>logback-classic</artifactId> 
     <scope>test</scope> 
     </dependency> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <scope>test</scope> 
    </dependency> 
    </dependencies> 
    <profiles> 
    <profile> 
    <id>doclint-java8-disable</id> 
    <activation> 
     <jdk>[1.8,)</jdk> 
    </activation> 

    <build> 
     <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-javadoc-plugin</artifactId> 
      <configuration> 
      <additionalparam>-Xdoclint:none</additionalparam> 
      </configuration> 
     </plugin> 
     </plugins> 
    </build> 
    </profile> 
</profiles> 
</project> 

가 이미 유사한 게시물을 확인하고 (VMARGS로 N 모든 JDK의 JRE를 지정) eclipse.ini에서 필요한 변경을 수행했다. 메이븐 프로젝트에서 내 의존성은 다음과 같습니다

<dependency> 
      <groupId>com.b.t</groupId> 
      <artifactId>v-p</artifactId> 
      <version>1.1.0</version> 
     </dependency> 

해당 pom.xml 파일과 같은 jar 파일이 인 IntelliJ 내 동료를 위해 잘 작동되는 점에 유의하시기 바랍니다.

정보 용으로 Eclipse Luna를 사용하고 있습니다. 또한 이클립스에서 Installed JRE가 jdk1.8.0_144인지 체크했다.

또한 명령 프롬프트에서 mvn clean install을 사용하면 같은 오류가 발생합니다.

다른 사람이 더 이상 무엇을 확인할 수 있는지 제안 해주세요.

+0

당신이 당신의 브라우저 나 다른 XML 구문 분석 프로그램에서 pom.xml 파일을 열 수 있습니다 귀하의 경우 https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html

뭔가 같은 것입니까? –

+0

예, 메모장에서 열 수 있습니다. ++ ... – Ragini

+0

메모장 ++에서 XML _validation_을 수행합니까? 이는 파일을 볼 수있는 것과는 다릅니다. 이것이 무엇인지 모르는 경우 알아보십시오. –

답변

1

파일을 로컬 저장소에 복사 할 수 없으므로 파일을 설치해야합니다. 지침은 여기에 있습니다 :

mvn install:install-file -Dfile=<path-to-file> -DpomFile=<path-to-pomfile> 
+0

지적 해 주셔서 감사합니다. 알아 둘만한. 나는 그것을했지만 불행히도 같은 오류가 발생했습니다. :-( – Ragini

+0

정확히 무엇이 오류 메시지입니까? – robjwilkins

+0

"com.bt:vp:jar:1.1.0의 POM이 유효하지 않으며 전 이적 종속성을 사용할 수 없으며 자세한 내용은 디버그 로깅을 사용 가능하게 설정" – Ragini