liquibase: [WARNING] Cannot create filesystem for url target/test-classes

liquibase: 4.1.1 -> Affected. liquibase: 3.10.3 -> Not affected.

Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: C:\Maven\bin.. Java version: 11.0.8, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-11.0.8 OS name: “windows 10”, version: “10.0”, arch: “amd64”, family: “windows”

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/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.test.liquibase</groupId>
	<artifactId>liquibase-test</artifactId>
	<version>1.0</version>

	<packaging>jar</packaging>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<version.compiler.plugin>3.8.1</version.compiler.plugin>
		<maven.compiler.target>1.8</maven.compiler.target>
		<maven.compiler.source>1.8</maven.compiler.source>
		<ci.headless>true</ci.headless>
		<liquibase.version>4.1.1</liquibase.version>
		<liquibase.propertyFile>target/classes/liquibase.properties</liquibase.propertyFile>
		<mssql.jdbc.version>7.4.1.jre8</mssql.jdbc.version>
	</properties>

	<build>
		<plugins>

			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>${version.compiler.plugin}</version>
				<configuration>
					<source>${maven.compiler.source}</source>
					<target>${maven.compiler.target}</target>
				</configuration>
			</plugin>

			<plugin>
				<groupId>org.liquibase</groupId>
				<artifactId>liquibase-maven-plugin</artifactId>
				<version>${liquibase.version}</version>
				<executions>
					<execution>
						<goals>
							<goal>update</goal>
						</goals>
						<configuration>
							<propertyFile>${liquibase.propertyFile}</propertyFile>
							<promptOnNonLocalDatabase>${ci.headless}</promptOnNonLocalDatabase>
						</configuration>
					</execution>
				</executions>
			</plugin>

		</plugins>
	</build>
	<profiles>
		<profile>
			<id>DEV</id>
			<build>
				<filters>
					<filter>src/main/filters/DEV/db.properties</filter>
				</filters>
				<resources>
					<resource>
						<directory>src/main/resources</directory>
						<filtering>true</filtering>
					</resource>
				</resources>
			</build>
		</profile>
	</profiles>
	<dependencies>
		<dependency>
			<groupId>com.microsoft.sqlserver</groupId>
			<artifactId>mssql-jdbc</artifactId>
			<version>${mssql.jdbc.version}</version>
		</dependency>
	</dependencies>
</project>

$ mvn liquibase:update -P DEV -X

...
[INFO] ------------------------------------------------------------------------
[DEBUG] Adding path C:\Users\Dell\Documents\workspace\liquibase to resourceAccessor liquibase.resource.FileSystemResourceAccessor
[project, pluginDescriptor]
[INFO] Parsing Liquibase Properties File
[INFO]   File: target/classes/liquibase.properties
[WARNING] Cannot create filesystem for url file:/C:/Users/Dell/Documents/workspace/liquibase/target/test-classes: C:\Users\Dell\Documents\workspace\repo-colombia\liquibase-cm\target\test-classes
java.nio.file.FileSystemNotFoundException: C:\Users\Dell\Documents\workspace\liquibase\target\test-classes
    at jdk.nio.zipfs.ZipFileSystem.<init> (ZipFileSystem.java:104)
    at jdk.nio.zipfs.ZipFileSystemProvider.newFileSystem (ZipFileSystemProvider.java:136)
    at java.nio.file.FileSystems.newFileSystem (FileSystems.java:406)
    at liquibase.resource.ClassLoaderResourceAccessor.loadRootPaths (ClassLoaderResourceAccessor.java:63)
    at liquibase.resource.ClassLoaderResourceAccessor.loadRootPaths (ClassLoaderResourceAccessor.java:79)
    at liquibase.resource.ClassLoaderResourceAccessor.init (ClassLoaderResourceAccessor.java:47)
    at liquibase.resource.ClassLoaderResourceAccessor.openStreams (ClassLoaderResourceAccessor.java:94)
    at org.liquibase.maven.plugins.MavenResourceAccessor.openStreams (MavenResourceAccessor.java:21)
    at liquibase.resource.CompositeResourceAccessor.openStreams (CompositeResourceAccessor.java:33)
    at liquibase.resource.AbstractResourceAccessor.openStream (AbstractResourceAccessor.java:17)
    at org.liquibase.maven.plugins.AbstractLiquibaseMojo.handlePropertyFileInputStream (AbstractLiquibaseMojo.java:560)
    at org.liquibase.maven.plugins.AbstractLiquibaseMojo.configureFieldsAndValues (AbstractLiquibaseMojo.java:530)
    at org.liquibase.maven.plugins.AbstractLiquibaseMojo.lambda$null$0 (AbstractLiquibaseMojo.java:374)
    at liquibase.Scope.lambda$child$0 (Scope.java:160)
    at liquibase.Scope.child (Scope.java:169)
    at liquibase.Scope.child (Scope.java:159)
    at liquibase.Scope.child (Scope.java:138)
    at org.liquibase.maven.plugins.AbstractLiquibaseMojo.lambda$execute$1 (AbstractLiquibaseMojo.java:372)
    at liquibase.Scope.lambda$child$0 (Scope.java:160)
    at liquibase.Scope.child (Scope.java:169)
    at liquibase.Scope.child (Scope.java:159)
    at liquibase.Scope.child (Scope.java:138)
    at liquibase.Scope.child (Scope.java:222)
    at liquibase.Scope.child (Scope.java:226)
    at org.liquibase.maven.plugins.AbstractLiquibaseMojo.execute (AbstractLiquibaseMojo.java:306)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)

...

[INFO] Executing on Database: jdbc:sqlserver://localhost;databaseName=local
[DEBUG] Class [org.hibernate.boot.jaxb.hbm.spi.package-info] could not be found. Processing hibernate bindings will probably fail if applicable.
java.lang.ClassNotFoundException: org.hibernate.boot.jaxb.hbm.spi.package-info
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass (SelfFirstStrategy.java:50)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass (ClassRealm.java:271)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass (ClassRealm.java:247)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass (ClassRealm.java:239)
    at java.lang.Class.forName0 (Native Method)
    at java.lang.Class.forName (Class.java:315)
    at org.liquibase.maven.plugins.AbstractLiquibaseMojo.setupBindInfoPackage (AbstractLiquibaseMojo.java:484)
    at org.liquibase.maven.plugins.AbstractLiquibaseMojo.lambda$null$0 (AbstractLiquibaseMojo.java:445)
    at liquibase.Scope.lambda$child$0 (Scope.java:160)
    at liquibase.Scope.child (Scope.java:169)
    at liquibase.Scope.child (Scope.java:159)
    at liquibase.Scope.child (Scope.java:138)
    at org.liquibase.maven.plugins.AbstractLiquibaseMojo.lambda$execute$1 (AbstractLiquibaseMojo.java:372)
    at liquibase.Scope.lambda$child$0 (Scope.java:160)
    at liquibase.Scope.child (Scope.java:169)
    at liquibase.Scope.child (Scope.java:159)
    at liquibase.Scope.child (Scope.java:138)
    at liquibase.Scope.child (Scope.java:222)
    at liquibase.Scope.child (Scope.java:226)
    at org.liquibase.maven.plugins.AbstractLiquibaseMojo.execute (AbstractLiquibaseMojo.java:306)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)

...

[INFO] Successfully released change log lock
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.572 s
[INFO] Finished at: 2020-10-17T19:43:40-03:00
[INFO] ------------------------------------------------------------------------

Test Requirements

  • No automated test required for this ticket.
  • Verify you can reproduce the bug in 4.3.2 using Maven.
  • Verify the fix no longer outputs a warning that the test-classes directory is not found.

┆Issue is synchronized with this Jira Bug by Unito ┆Fix Versions: Community 4.x

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Reactions: 2
  • Comments: 15 (4 by maintainers)

Commits related to this issue

Most upvoted comments

Leaving this here for those still having this problem and need a solution.

I’m on 4.6.1 and the issue is still occurring. To fix, you need to make the directories (both target/classes and target/test-classes). I used the maven-antrun-plugin. Just have to make sure it is run in the same build phase as you’re running the liquibase plugin, and run it before the liquibase plugin.

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-antrun-plugin</artifactId>
  <executions>
    <execution>
      <id>satisfy-liquibase</id>
      <phase>generate-sources</phase>
      <configuration>
        <tasks> 
          <mkdir dir="${project.build.directory}/test-classes" />
          <mkdir dir="${project.build.directory}/classes" />
      </tasks>
    </configuration>
      <goals>
        <goal>run</goal>
      </goals>
    </execution>
 </executions>
</plugin>

Hi @dertin Thanks for creating this issue. We will add it to our list of issues to resolve in v4.x

The issue is still present in latest liquibase.

About the thing mentioned here, to avoid warning:

to avoid the warning create an empty test:

/src/test/java

package notest;

public class AppTest 
{
}

I tried this, but it doesn’t work. Perhaps I did not understand correctly. Do you mean literally create file with this content on path /src/test/java? I mean I tried that also, doesn’t work. Tried adding empty test class, on my application package doesn’t work.

to avoid the warning create an empty test:

/src/test/java

package notest;

public class AppTest 
{
}

The 4.4.3 maven plugin still dumps the stack trace

➤ Erzsebet Carmean commented:

Mauritz Løvgren, hello! That is how I get around the error in my local test environment.

We are facing a similiar issue with liquibase 4.3.2, some devs get this warning a lot when starting a spring boot application with liquibase. But it looks like everything works fine. Is this related?

OS: Linux openjdk version “11.0.7” 2020-04-14 OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.7+10) OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.7+10, mixed mode)

2021-03-31 07:10:51.841     WARN:23 8033 --- [  restartedMain] liquibase.resource                       : Cannot create filesystem for url file:/home/user/project/build/resources/main/: newFileSystem(/home/user/project/build/resources/main) already mapped /home/user/project/build/resources/main

java.nio.file.FileSystemAlreadyExistsException: newFileSystem(/home/user/project/build/resources/main) already mapped /home/user/project/build/resources/main
	at org.apache.sshd.common.file.root.RootedFileSystemProvider.newFileSystem(RootedFileSystemProvider.java:105) ~[sshd-common-2.6.0.jar:2.6.0]
	at org.apache.sshd.common.file.root.RootedFileSystemProvider.newFileSystem(RootedFileSystemProvider.java:90) ~[sshd-common-2.6.0.jar:2.6.0]
	at java.base/java.nio.file.FileSystems.newFileSystem(FileSystems.java:406) ~[na:na]