У меня есть java-файлы для gcm-сервера в java. Я хотел бы объединить их в файл jar. Я пытаюсь сделать это в maven (только обучение), но я получаю следующую ошибку. структура директории:POM для org.jivesoftware: smack: jar: отсутствует 3.4.1-0cec571
--src
| --main
| --java
| --server
| "my java files here"
--pom.xml
Ошибка:
The POM for org.jivesoftware:smack:jar:3.4.1-0cec571 is missing, no dependency information available
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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>gcm.server</groupId>
<artifactId>gcm-maven</artifactId>
<packaging>jar</packaging>
<version>0.1.0</version>
<!-- tag::joda[] -->
<properties>
<java.version>1.7</java.version>
</properties>
<dependencies>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.jivesoftware</groupId>
<artifactId>smack</artifactId>
<version>3.4.1-0cec571</version>
</dependency>
</dependencies>
<!-- end::joda[] -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.1</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>hello.HelloWorld</mainClass>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Любые идеи по решению этого?
Не удалось найти артефакт org.igniterealtime.smack: smack: jar: 3.4.1 в центре (http://repo.maven.apache.org/maven2). Но если я использую 3.2.1, он работает хорошо. –
Ах, да, извините, я думал, что поставлю 3.4.1 на Maven Central. Вы должны использовать последнюю стабильную версию Smack, которая на момент написания 4.1.3. * & Не используйте Smack версию <4.0 **, поскольку [у этих версий есть некоторые проблемы с безопасностью.] (Https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-0363). И если вы действительно должны использовать версию <4.0, то не используйте 3.2.1, так как она довольно старая (~ 5 лет), вместо этого включите банку Smack 3.4.1 в ваш проект. – Flow
Отредактировано снова, чтобы указать 4.1.3, но также и изменить artifactId от smack до smack-core. – WillShackleford