Bonjour/Bonsoir,
Développeur java amateur et récent, sur Eclipse, je viens de rejoindre l’équipe bénévole d’un serveur de jeu. Je rencontre un problème sur le plugin du serveur. Il est normalement lié à notre site web, mais le lien ne se fait plus correctement. Il semblerait que la cause soit un “ObjectMapper” qui n’est pas trouvé par le plugin :
La dépendance suivante est indiquée dans le pom.xml, et maven semble bien l’avoir prise en compte :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 [21:20:16] [Thread-8/WARN]: Exception in thread "Thread-8" [21:20:16] [Thread-8/WARN]: java.lang.NoClassDefFoundError: org/codehaus/jackson/map/ObjectMapper [21:20:16] [Thread-8/WARN]: at main.java.com.naheulcraft.specific.Ressources.FeatureFunctions$AsynchronousAPISender$APISenderRunnable.run(FeatureFunctions.java:669) [21:20:16] [Thread-8/WARN]: at java.lang.Thread.run(Unknown Source) [21:20:16] [Thread-8/WARN]: Caused by: java.lang.ClassNotFoundException: org.codehaus.jackson.map.ObjectMapper [21:20:16] [Thread-8/WARN]: at java.net.URLClassLoader.findClass(Unknown Source) [21:20:16] [Thread-8/WARN]: at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) [21:20:16] [Thread-8/WARN]: at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) [21:20:16] [Thread-8/WARN]: at java.lang.ClassLoader.loadClass(Unknown Source) [21:20:16] [Thread-8/WARN]: at java.lang.ClassLoader.loadClass(Unknown Source) [21:20:16] [Thread-8/WARN]: ... 2 more
Il n’y a pas d’erreur sur l’importation :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.11</version> <type>jar</type> <scope>compile</scope> </dependency>
Et pourtant, ça ne fonctionne pas. J’ai tenté tout ce que j’ai trouvé sur internet, changer la version, utiliser com.fasterxml.jackson.databind à la place, modifier le .classpath, ajouter le jar manuellement via buildpath > external jars, sans succès. Je me suis donc résolu à demander de l’aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import org.codehaus.jackson.map.ObjectMapper; [...] private class APISenderRunnable implements Runnable { Map<String, String> params; APISenderRunnable(Map<String, String> params) { this.params = params; } public void run() { ObjectMapper mapper = new ObjectMapper(); String url = FeatureFunctions.BuildFullUrl(NCPlugin.API_URL, params); try { array = mapper.readTree(new URL(url)); } catch(Exception e) { System.out.println("ERROR, URL BUILDING FAILED OR API IS DOWN."); } } }
Voici le pom.xml complet :
Voici le .classpath actuel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131 <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.naheulcraft</groupId> <artifactId>specific</artifactId> <url>http://www.naheulcraft.com/</url> <build> <sourceDirectory>src</sourceDirectory> <resources> <resource> <filtering>true</filtering> <directory>src</directory> <includes> <include>plugin.yml</include> </includes> </resource> </resources> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.0.2</version> <configuration> <source>1.8</source> <target>1.8</target> <encoding>${project.build.sourceEncoding}</encoding> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.4</version> <executions> <execution> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.4.3</version> <configuration> <encoding>${project.build.sourceEncoding}</encoding> </configuration> </plugin> </plugins> </build> <repositories> <repository> <id>spigot-repo</id> <url>https://hub.spigotmc.org/nexus/content/groups/public/</url> </repository> <!--<repository> <id>bukkit-repo</id> <url>http://repo.bukkit.org/content/groups/public</url> </repository>--> <repository> <id>codehaus-snapshots</id> <url>http://snapshots.repository.codehaus.org</url> </repository> </repositories> <dependencies> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.1</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>1.9.11</version> <type>jar</type> <scope>compile</scope> </dependency> <!--<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.9.3</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.9.3</version> <type>jar</type> <scope>compile</scope> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.3</version> <type>jar</type> <scope>compile</scope> <exclusions> <exclusion> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> </exclusion> <exclusion> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> </exclusion> </exclusions> </dependency>--> <!--<dependency> <groupId>org.bukkit</groupId> <artifactId>bukkit</artifactId> <version>LATEST</version> </dependency>--> <dependency> <groupId>com.google.code.google-collections</groupId> <artifactId>google-collect</artifactId> <version>snapshot-20080530</version> <type>jar</type> </dependency> </dependencies> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <name>NaheulcraftFR-Specific</name> <version>1.10</version> </project>
Je vous remercie d’avance.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <?xml version="1.0" encoding="UTF-8"?> <classpath> <classpathentry kind="src" path="src"/> <classpathentry exported="true" kind="lib" path="C:/Users/Florent_2/Desktop/Serveur test Spigot/bukkit.jar"/> <classpathentry exported="true" kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> <attributes> <attribute name="maven.pomderived" value="true"/> </attributes> </classpathentry> <classpathentry exported="true" kind="lib" path="C:/Users/Florent_2/Desktop/spigot-1.12.2-R0.1-SNAPSHOT-b1577.jar"/> <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry exported="true" kind="lib" path="C:/Users/Florent_2/Desktop/jackson-mapper-asl-1.9.11.jar"/> <classpathentry exported="true" kind="lib" path="C:/Users/Florent_2/Desktop/jackson-core-asl-1.9.11.jar"/> <classpathentry kind="output" path="target/classes"/> </classpath>
Florent
EDIT : PROBLÈME RÉSOLU. J'ai installé m2Eclipse, je suis allé dans Run as > Maven Install. Un jar-with-dependancies s'est généré dans le répertoire target, contenant l'ObjectMapper qui me manquait. Je l'ai installé sur le serveur et après quelques réglages, la connexion plugin>site s'est rétablie.
Partager