Я просто перехожу от.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 [ИНФОРМАЦИЯ]------------------------------------------------------------------------
На самом деле, ваш 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. Тебе понравится.
Начиная с Весны 3 больше нет одного большого суперъяра. Вместо этого вы должны выбрать те детали, которые вам нужны. Вам потребуется как минимум:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.0.0.RELEASE</version>
</dependency>
Правильный ответ «ничего не поддается измерению». Для частичного (но 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>
Просто поместите это в ваш 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, то вам нужно указать
Хорошо. Я заставил это работать:
<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 ???