Bug#915889: freeplane FTBFS: Could not resolve javax.servlet:javax.servlet-api:3.1.

Felix Natter fnatter at gmx.net
Sun Dec 16 11:00:35 GMT 2018


Emmanuel Bourg <ebourg at apache.org> writes:

> Le 16/12/2018 à 07:11, Felix Natter a écrit :
>
>> The problem is that the javax.servlet:javax.servlet-api:3.1 artifact
>> (src:tomcat8/bin:libservlet3.1-java) does not install a
>> debian/javax.servlet-api-debian.pom, so the resolution fails during
>> freeplane compilation.

hi Emmanual,

thanks for your answer!

> libservlet3.1-java does install the Maven pom for the Servlet API though:
>
> ebourg at icare:~$ wget http://ftp.us.debian.org/debian/pool/main/t/tomcat8/libservlet3.1-java_8.5.35-3_all.deb
> --2018-12-16 10:32:57--  http://ftp.us.debian.org/debian/pool/main/t/tomcat8/libservlet3.1-java_8.5.35-3_all.deb
> Resolving ftp.us.debian.org (ftp.us.debian.org)... 128.61.240.89, 128.30.2.26, 64.50.233.100, ...
> Connecting to ftp.us.debian.org (ftp.us.debian.org)|128.61.240.89|:80... connected.
> HTTP request sent, awaiting response... 200 OK
> Length: 245100 (239K) [application/octet-stream]
> Saving to: ‘libservlet3.1-java_8.5.35-3_all.deb’
>
> libservlet3.1-java_8.5.35-3_all.deb
> 100%[=====================================================================================================>]
> 239.36K 609KB/s in 0.4s
>
> 2018-12-16 10:32:58 (609 KB/s) - ‘libservlet3.1-java_8.5.35-3_all.deb’ saved [245100/245100]
>
> ebourg at icare:~$ dpkg -c libservlet3.1-java_8.5.35-3_all.deb
> drwxr-xr-x root/root         0 2018-12-12 16:48 ./
> drwxr-xr-x root/root         0 2018-12-12 16:48 ./usr/
> drwxr-xr-x root/root         0 2018-12-12 16:48 ./usr/share/
> drwxr-xr-x root/root         0 2018-12-12 16:48 ./usr/share/doc/
> drwxr-xr-x root/root         0 2018-12-12 16:48 ./usr/share/doc/libservlet3.1-java/
> -rw-r--r-- root/root      6759 2018-12-12 16:48 ./usr/share/doc/libservlet3.1-java/changelog.Debian.gz
> -rw-r--r-- root/root     23165 2018-11-28 15:59 ./usr/share/doc/libservlet3.1-java/copyright
> drwxr-xr-x root/root         0 2018-12-12 16:48 ./usr/share/java/
> -rw-r--r-- root/root    242933 2018-12-12 16:48 ./usr/share/java/servlet-api-3.1.jar
> drwxr-xr-x root/root         0 2018-12-12 16:48 ./usr/share/maven-repo/
> drwxr-xr-x root/root         0 2018-12-12 16:48 ./usr/share/maven-repo/javax/
> drwxr-xr-x root/root         0 2018-12-12 16:48 ./usr/share/maven-repo/javax/servlet/
> drwxr-xr-x root/root         0 2018-12-12 16:48 ./usr/share/maven-repo/javax/servlet/javax.servlet-api/
> drwxr-xr-x root/root         0 2018-12-12 16:48 ./usr/share/maven-repo/javax/servlet/javax.servlet-api/3.1/
> -rw-r--r-- root/root      1404 2018-12-12 16:48 ./usr/share/maven-repo/javax/servlet/javax.servlet-api/3.1/javax.servlet-api-3.1.pom
> lrwxrwxrwx root/root 0 2018-12-12 16:48
> ./usr/share/maven-repo/javax/servlet/javax.servlet-api/3.1/javax.servlet-api-3.1.jar
> -> ../../../../../java/servlet-api-3.1.jar


True, the 3.1 pom is installed, but the debian pom isn't, and I think
that maven-repo-helper usually creates/links
.../javax.servlet-api/debian/javax.servlet-api-debian.(pom,jar)
as well.

>
>
>> Markus Koschany reminded me on #debian-java that Emmanuel is in the
>> process of preparing a new javax-servlex package (#916354), which might
>> fix this issue. So I will wait for this.
>
> I'm indeed in the process of splitting the JavaEE APIs (Servlet, JSP, EL
> and WebSocket) away from the Tomcat package, but I fail to understand
> why it affects freeplane.

I am pretty sure freeplane only tries to find the pom+jar with the
'debian' version in "Debian Maven Repository". From the gradle debug
log:

11:42:23.936 [DEBUG] [org.gradle.api.internal.artifacts.ivyservice.ivyresolve.RepositoryChainComponentMetaDataResolver] Attempting to resolve component for javax.servlet:javax.servlet-api:3.1 using repositories [Debian Maven Repository, MavenRepo, maven, maven2, maven3, /usr/share/java]
11:42:23.936 [QUIET] [system.out] 	Replacing javax.servlet:javax.servlet-api:jar:3.1  ->  javax.servlet:javax.servlet-api:jar:debian
11:42:23.937 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/usr/share/maven-repo/javax/servlet/javax.servlet-api/debian/javax.servlet-api-debian.pom
11:42:23.937 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/usr/share/maven-repo/javax/servlet/javax.servlet-api/debian/javax.servlet-api-debian.jar
11:42:23.937 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver] No meta-data file or artifact found for module 'javax.servlet:javax.servlet-api:debian' in repository 'Debian Maven Repository'.
11:42:23.942 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/home/felix/freeplane-stable/freeplane/.gradle/local-artifacts/javax/servlet/javax.servlet-api/3.1/javax.servlet-api-3.1.pom
11:42:23.947 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/home/felix/freeplane-stable/freeplane/.gradle/local-artifacts/javax/servlet/javax.servlet-api/3.1/javax.servlet-api-3.1.jar
11:42:23.947 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver] No meta-data file or artifact found for module 'javax.servlet:javax.servlet-api:3.1' in repository 'maven2'.
11:42:23.950 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/usr/share/java/javax.servlet-api-3.1.jar
11:42:23.953 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.DefaultExternalResourceArtifactResolver] Loading file:/usr/share/java/javax.servlet-api.jar
11:42:23.954 [DEBUG] [org.gradle.api.internal.artifacts.repositories.resolver.ExternalResourceResolver] No meta-data file or artifact found for module 'javax.servlet:javax.servlet-api:3.1' in repository '/usr/share/java'.

Here is freeplane's relevant build script:

dependencies {
  compileOnly project(':freeplane')
	testCompile project(':freeplane')

	compile 'org.apache.xmlgraphics:batik-transcoder:1.10'
	compile 'org.apache.xmlgraphics:batik-swing:1.10'
	compile 'org.apache.xmlgraphics:batik-codec:1.10'
	compile 'org.apache.xmlgraphics:fop:2.2'
}
//     Required by:
//         project :freeplane_plugin_svg > org.apache.xmlgraphics:fop:debian > org.apache.xmlgraphics:fop-core:debian

Maybe if I pull javax.servlet:javax.servlet-api:3.1 directly from
freeplane it would look for version=3.1 also, but transitively not?

One important question: How can I prevent the AUTORM from happening?

Many Thanks and Best Regards,
-- 
Felix Natter
debian/rules!



More information about the pkg-java-maintainers mailing list