Spring 3.0.0 зависимости загружает Знатоком

Я просто перехожу от.NET до JAVA и должен запустить проект JAVA с Spring 3.0.0. и Будьте в спящем режиме.

Может кто-то объяснять мне step_by_step, как загрузить пружинные зависимости Знатоком. Я просто провел целый день с абсолютно никаким успехом.

PS. Я имею Java 1.5.06 и уже загрузил пружину (без зависимостей) и установил Знатока.

править:

c0mrade:

Я думаю по состоянию на пружину 3.0.0. они считаются дополнительными зависимостями, таким образом, они должны быть включены отдельно каждая зависимость, это - просто предположение, я не уверен в этом, если Паскаль или кто-то более опытный подтверждают мой оператор затем ее истинное, до сих пор я работал с пружиной 2.5.5

Да... Они являются определенно дополнительными, таким образом, это - то, что я сделал. Я просто копирую/вставляю, в спящем режиме зависимости от пружинного-orm файла англичанина до myproject файла англичанина, означая, что теперь я имею пружину и в спящем режиме зависимости в моем файле англичанина, определенном вместе. Затем я выполнил "mvn установку" на myproject и после тот просто рука, скопированная всю пружину, и будьте в спящем режиме банки к папке lib моего проекта.

Таким образом, теперь я имею проект Java с пружиной и в спящем режиме.:)

Я изучаю Java, и это - только мой второй день, так себе скажите мне, если я сделал что-то ужасно неправильно.

обновление:

rlovtang:

При использовании знатока Вы вручную не загружаете зависимостей (как пружина), и при этом Вы не вручаете копии банок своей папке lib проектов. Все это заботится об автоматически знатоком при выполнении 'mvn установки'. То, как Вы упаковываете свое приложение, является им война?

Я понимаю это. И мне ясно, что Знаток автоматически управляет путем к классу для зависимостей в моем локальном репозитории, таким образом, мой проект может обычно работать над моей локальной машиной. И я также красный, что у Вас есть опция упаковать Ваши банки зависимостей в Вашей ВОЙНЕ или EAR, но что, если я хочу упаковать свое приложение как JAR вместе со всеми БАНКАМИ зависимостей в выводе (цель) папка? Вы видите, я не хочу развертывать свой файл JAR с pom.xml только, но все БАНКИ, которые необходимы, чтобы мое приложение работало.


Это все еще не работает:

это - мой 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>

<dependencies>

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring</artifactId>
        <version>3.0.0.</version>
    </dependency>
</dependencies>

Когда я поразил "mvn установку", я получаю это исключение:

[ИНФОРМАЦИЯ] Сканирование для проектов... [ИНФОРМАЦИЯ]------------------------------------------------------------------------[ОШИБКА] ФАТАЛЬНАЯ ОШИБКА [ИНФОРМАЦИЯ]------------------------------------------------------------------------[ИНФОРМАЦИЯ] Пустой указатель [ИНФОРМАЦИЯ]------------------------------------------------------------------------[ИНФОРМАЦИЯ] Трассировка java.lang. NullPointerException в org.apache.maven.artifact.versioning. DefaultArtifactVersion.parseVersion (DefaultArtifactVersion.jav a:136) в org.apache.maven.artifact.versioning. DefaultArtifactVersion. (DefaultArtifactVersion.java:47) в org.apache.maven.artifact.versioning. VersionRange.createFromVersion(VersionRange.java:219) в org.apache.maven.project.artifact. ProjectArtifactFactory.create(ProjectArtifactFactory.java:37) в org.apache.maven.project. DefaultMavenProjectBuilder.processProjectLogic (DefaultMavenProjectBuilder. java:1017) в org.apache.maven.project. DefaultMavenProjectBuilder.buildInternal (DefaultMavenProjectBuilder.java:8 80) в org.apache.maven.project. DefaultMavenProjectBuilder.buildFromSourceFileInternal (Разработчик java:508 DefaultMavenProject) в org.apache.maven.project. DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:200) в org.apache.maven. DefaultMaven.getProject(DefaultMaven.java:604) в org.apache.maven. DefaultMaven.collectProjects(DefaultMaven.java:487) в org.apache.maven. DefaultMaven.getProjects(DefaultMaven.java:391) в org.apache.maven. DefaultMaven.doExecute(DefaultMaven.java:272) в org.apache.maven. DefaultMaven.execute(DefaultMaven.java:138) в org.apache.maven.cli. MavenCli.main(MavenCli.java:362) в org.apache.maven.cli.compat. CompatibleMain.main(CompatibleMain.java:60) в sun.reflect. NativeMethodAccessorImpl.invoke0 (Собственный метод) в sun.reflect. NativeMethodAccessorImpl.invoke (Неизвестный Источник) в sun.reflect. DelegatingMethodAccessorImpl.invoke (Неизвестный Источник) в java.lang.reflect. Method.invoke (Неизвестный Источник) в org.codehaus.classworlds. Launcher.launchEnhanced (Средство запуска java:315) в org.codehaus.classworlds. Launcher.launch (Средство запуска java:255) в org.codehaus.classworlds. Launcher.mainWithExitCode (Средство запуска java:430) в org.codehaus.classworlds. Launcher.main (Средство запуска java:375) [ИНФОРМАЦИЯ]------------------------------------------------------------------------[ИНФОРМАЦИЯ] Общее время: <1 секунда [ИНФОРМАЦИЯ], Законченная в: четверг 18 февраля 11:19:44 CET 2010 [ИНФОРМАЦИЯ] Память Финала: 1M/2M [ИНФОРМАЦИЯ]------------------------------------------------------------------------

7
задан Bill the Lizard 12 February 2012 в 12:43
поделиться

5 ответов

На самом деле, ваш POM неправильный, в нем отсутствуют важные детали. Вам понадобится как минимум что-то вроде этого (это минимальный POM):

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.myproject</groupId>
  <artifactId>my-app</artifactId>
  <version>1.0-SNAPSHOT</version>
  <name>My App</name>
</project>

Чтобы добавить зависимость Spring, я предлагаю использовать следующее:

<project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.myproject</groupId>
  <artifactId>my-app</artifactId>
  <version>1.0-SNAPSHOT</version>
  <name>My App</name>

  <properties>
    <org.springframework.version>3.0.0.RELEASE</org.springframework.version>
  </properties>

  <dependencies>

    <!--
        Core utilities used by other modules.
        Define this if you use Spring Utility APIs (org.springframework.core.*/org.springframework.util.*)
    -->
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>${org.springframework.version}</version>
    </dependency>

  </dependencies>
</project>

Полный список артефактов Spring см. В Получите Артефакты Spring 3 с Maven и возьмите то, что вам нужно.

Обновление: К вашему сведению, существует множество поисковых систем по репозиториям , которые могут помочь вам найти артефакты. Это может быть полезно, если вы не привыкли к Maven. Также обратите внимание, что вы можете получить некоторую поддержку IDE для этого (Idea, Eclipse, NetBeans, я думаю, все они предлагают функцию поиска в репозитории). На самом деле, в вашем случае я бы предложил использовать SpringSource Tools Suite (STS), который является интегрированной версией Eclipse (объединяющий некоторые плагины для разработки проектов Spring, включая поддержку Maven). STS - это полностью интегрированная среда, очень близкая к тому, что вы можете получить в мире .NET IMO. Тебе понравится.

12
ответ дан 6 December 2019 в 11:48
поделиться

Начиная с Весны 3 больше нет одного большого суперъяра. Вместо этого вы должны выбрать те детали, которые вам нужны. Вам потребуется как минимум:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>3.0.0.RELEASE</version>
</dependency>
2
ответ дан 6 December 2019 в 11:48
поделиться

Правильный ответ «ничего не поддается измерению». Для частичного (но LONG) списка проходов, которые компилятор C # делает при компиляции, смотрите здесь:

http://blogs.msdn.com/ericlippert/archive/2010/02/04/how-many-passes.aspx

Тогда поймите, что вывод типа является только частью одного прохода в этом списке.

-121--2195352-

Используйте это свойство в файле pom.xml:

<project>
...
<build>
...
</build>

<properties>
    <cobertura.maxmem>256M</cobertura.maxmem>
</properties>

</project>
-121--3311501-
<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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>org.my.application</groupId>
  <artifactId>slickapp</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>My application</name>
  <inceptionYear>2010</inceptionYear>


  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.4.2</version>
        <configuration>
          <argLine>-Xmx512m -XX:MaxPermSize=256M -XX:PermSize=20M</argLine>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-install-plugin</artifactId>
        <version>2.2</version>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
          <fork>true</fork>
          <meminitial>128m</meminitial>
          <maxmem>512m</maxmem>
        </configuration>
      </plugin>
    </plugins>
  </build>
    <dependencies>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>${spring.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context-support</artifactId>
        <version>${spring.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${spring.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jdbc</artifactId>
        <version>${spring.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${spring.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-tx</artifactId>
        <version>${spring.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>${spring.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>${spring.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring.version}</version>
        <exclusions>
          <exclusion>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>1.5.3</version>
      </dependency>
      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.1</version>
        <scope>provided</scope>
      </dependency>

      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.7</version>
        <scope>test</scope>
      </dependency>
    </dependencies>

  <properties>
    <spring.version>3.0.0.RELEASE</spring.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>
</project>
1
ответ дан 6 December 2019 в 11:48
поделиться

Просто поместите это в ваш pom.xml

<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring</artifactId>
            <version>3.0.0.RELEASE</version>
        </dependency>

Есть несколько maven репозиториев, откуда вы можете скачать библиотеки, вот один из них

http://maven.nuxeo.org/nexus/index.html#welcome

Это должно работать, если в репозитории есть именно эта версия spring, я сейчас использую 2.5.5

UPDATE

Видите ли, я не хочу развертывать мой JAR файл только с pom.xml, но и все JAR, которые необходимы для моего приложения для работы.

Тогда вам нужно нечто, называемое плагином сборки, который сделает .jar с зависимостями для вас, вы помните книгу, на которую я дал ссылку, ищите ключевое слово assembly, чтобы узнать больше. Но вот как я делаю это с помощью сборки :

<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>

mvn clean install assembly:assembly

То есть если вы хотите .jar, то вам нужно указать jar

2
ответ дан 6 December 2019 в 11:48
поделиться

Хорошо. Я заставил это работать:

<dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-orm</artifactId>
  <version>${org.springframework.version}</version>
</dependency>

И я вижу, что загружаются различные jar-файлы, но до сих пор не имею представления о , где они загружаются в .

Также я вижу, что загружаются различные jar-файлы Spring (например, spring-jdbc-3.0.0.RELEASE.jar), но где же Hibernate? Не следует ли загружать и Hibernate ???

0
ответ дан 6 December 2019 в 11:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: