2017-01-09 111 views
0

我几天前开始使用maven,我试图使用jquery日历工具,所以当我尝试添加依赖项时,maven提出了WAR依赖关系,我很好奇,打开它并确实包含必需的导入类。 但我的IDE告诉我,导入没有解决!我不明白发生了什么,我搜索了解什么是战争,我创建了这个网络Java应用程序。作为一个图书馆使用战争是不可能的?这是我的导入不起作用的原因吗?maven添加战争依赖不解决?

下面我POM,设置XML文件和进口在Java代码中

的pom.xml

<?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.mycompany</groupId> 
     <artifactId>gestion_stock</artifactId> 
     <version>1.0-SNAPSHOT</version> 
     <packaging>jar</packaging> 

     <repositories> 
      <repository> 
       <id>sonatype-snapshots</id> 
       <name>Sonatype Snapshots Repository</name> 
       <url>https://oss.sonatype.org/content/repositories/snapshots/</url> 
       <snapshots> 
        <enabled>true</enabled> 
       </snapshots> 
      </repository> 
     </repositories> 

     <dependencies> 
      <dependency> 
       <groupId>com.googlecode.wicket-jquery-ui</groupId> 
       <artifactId>wicket-jquery-ui</artifactId> 
       <version>8.0.0-M3</version> 
      </dependency> 
      <dependency> 
       <groupId>com.googlecode.wicket-jquery-ui</groupId> 
       <artifactId>jquery-ui-calendar</artifactId> 
       <version>6.2.2</version> 
      </dependency> 
      <dependency> 
       <groupId>com.googlecode.wicket-jquery-ui</groupId> 
       <artifactId>jquery-ui-core</artifactId> 
       <version>6.2.2</version> 
      </dependency> 
      <dependency> 
       <groupId>org.wicketstuff</groupId> 
       <artifactId>wicketstuff-bundle</artifactId> 
       <version>8.0.0-SNAPSHOT</version> 
       <type>jar</type> 
      </dependency> 
      <dependency> 
       <groupId>com.googlecode.wicket-jquery-ui</groupId> 
       <artifactId>wicket-jquery-ui-calendar</artifactId> 
       <version>8.0.0-SNAPSHOT</version> 
       <type>jar</type> 
      </dependency> 
      <dependency> 
       <groupId>com.googlecode.wicket-jquery-ui</groupId> 
       <artifactId>wicket-jquery-ui-samples</artifactId> 
       <version>8.0.0-SNAPSHOT</version> 
       <type>war</type> 
      </dependency> 
     </dependencies> 
     <properties> 
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
      <maven.compiler.source>1.8</maven.compiler.source> 
      <maven.compiler.target>1.8</maven.compiler.target> 
     </properties> 
    </project> 

Setting.xml的

<?xml version="1.0" encoding="UTF-8"?> 
    <!-- 
     User-specific configuration for maven. Includes things that should not 
     be distributed with the pom.xml file, such as developer identity, along with 
     local settings, like proxy information. The default location for the 
     settings file is ~/.m2/settings.xml 
    --> 
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> 
     <!--proxies> 
      <proxy> 
       <host>my.proxy.host</host> 
      </proxy> 
     </proxies--> 

     <!--pluginGroups> 
      <pluginGroup>org.codehaus.mojo</pluginGroup> 
     </pluginGroups--> 
    </settings> 

ExtendedCalendarPage.java

package com.talcorp.gestion_stock; 

    import java.time.LocalDateTime; 
    import java.time.temporal.ChronoUnit; 
    import java.util.Date; 

    import org.apache.wicket.ajax.AjaxRequestTarget; 
    import org.apache.wicket.markup.html.form.Form; 
    import org.apache.wicket.markup.html.panel.FeedbackPanel; 

    import com.googlecode.wicket.jquery.core.Options; 
    import com.googlecode.wicket.jquery.ui.calendar.Calendar; 
    import com.googlecode.wicket.jquery.ui.calendar.CalendarView; 
    import com.googlecode.wicket.jquery.ui.panel.JQueryFeedbackPanel; 
    // the non working imports in the wicket-jquery-ui-samples-8.0.0-SNAPSHOOT.war 
    import com.googlecode.wicket.jquery.ui.samples.component.DemoCalendarDialog; 
    import com.googlecode.wicket.jquery.ui.samples.data.DemoCalendarEvent; 
    import com.googlecode.wicket.jquery.ui.samples.data.DemoCalendarModel; 
    import com.googlecode.wicket.jquery.ui.samples.data.dao.CalendarDAO; 

    public class ExtendedCalendarPage extends AbstractCalendarPage 
    { 
      private static final long serialVersionUID = 1L; 

      private Calendar calendar; 

      . 

      . 

      . 

    } 

注:战争是存储在该项目中的一个文件名为:非类路径依赖性

感谢

+1

什么是WAR依赖于你的项目是指? WAR不是一个库,它是一个Web应用程序存档文件。 – Berger

+0

我不知道,正如我所提到的,我在3天前开始使用maven,所以在我加入罐子之前我没有做过任何事情。 –

+0

哪个导入没有解决?你的WAR似乎是一个演示应用程序,而不是一个库。 – Berger

回答

1

Maven有这种情况的一个插件,它应该出现在战争中的应用程序/库 - 它创建一类神器。

<plugin> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.1.1</version> 
    <configuration> 
     <attachClasses>true</attachClasses> 
    </configuration> 
</plugin> 

这一点,你可以使用下面

<dependency> 
    <groupId>your-group-id</groupId> 
    <artifactId>your-artifact-id</artifactId> 
    <version>your-version</version> 
    <classifier>classes</classifier> 
</dependency> 
+0

另外,其他方式实现相同的使用此 - http://stackoverflow.com/questions/31020038/how-can-i-add-war-file-to-another-java -Web应用依赖性 –