enter code here
Я создал простой код для монтирования виртуального диска в систему, используя пример из стандартного пакета установки.Пример JavaИтак, после того, как я создал несколько модульных тестов, первый - это монтирование диска в систему и проверка того, что диск был смонтирован; вторая - попытка монтировать диск и попытка создать простой файл для проверки / обработки событий создания / открытия и т. Д.файлы, поэтому, если я использую только один тест, все работает хорошо, если два, я получаю ошибку no jnicbfs in java.library.path
Может ли кто-нибудь помочь мне решить эту проблему?PS - Лицензия пробная - Простой код ниже
@Override
public boolean createVirtualDisk(String diskLetter) {
CallbackFileSystem callbackFileSystem;
boolean isCreated = true;
try {
// create CbFS instance
callbackFileSystem = new CallbackFileSystem(new CloudFileSystemEventHandler());
//initialize system properties
initCallBackFileSystemProperties(diskLetter, callbackFileSystem);
// mount point
callbackFileSystem.mountMedia(0);
} catch (ECBFSError e) {
LOGGER.error(e.getMessage(), e);
isCreated = false;
}
return isCreated;
}
private void initCallBackFileSystemProperties(String volumeKey, CallbackFileSystem callbackFileSystem) throws ECBFSError {
callbackFileSystem.setRegistrationKey(cloudFileSystemProperties.getLicenseKey());
callbackFileSystem.setSerializeCallbacks(cloudFileSystemProperties.isSerializeCallbacks());
callbackFileSystem.setThreadPoolSize(cloudFileSystemProperties.getThreadPoolSize());
callbackFileSystem.setProcessRestrictionsEnabled(cloudFileSystemProperties.isProcessRestrictionsEnabled());
callbackFileSystem.createStorage();
callbackFileSystem.disableMetaDataCache(cloudFileSystemProperties.isMetaDataCacheDisable());
callbackFileSystem.addMountingPoint(volumeKey);
}
тесты 1:
CbFSProperties cbFSProperties = createCloudFileSystemProperties();
// create CloudFileSystemImpl context
CloudFileSystemContext cloudFileSystemContext = new CloudFileSystemContext(cbFSProperties);
// create volume
CloudFileSystem cloudFileSystem = new CloudFileSystemImpl(cloudFileSystemContext);
//
boolean isCreated = cloudFileSystem.createVirtualDisk("R:");
// check if volume was created correctly
CallbackFileSystem callbackFileSystem = new CallbackFileSystem();
callbackFileSystem.setRegistrationKey(cbFSProperties.getLicenseKey());
// check created or not
Assert.assertEquals(true, isCreated);
// the same assertion
Assert.assertEquals("R", callbackFileSystem.getMountingPoint(0));
2:
CbFSProperties cbFSProperties = createCloudFileSystemProperties();
// create CloudFileSystemImpl context
CloudFileSystemContext cloudFileSystemContext = new CloudFileSystemContext(cbFSProperties);
// create volume
CloudFileSystem cloudFileSystem = new CloudFileSystemImpl(cloudFileSystemContext);
boolean isCreated = cloudFileSystem.createVirtualDisk("S:");
if (isCreated)
createFileOnDisk("S:\\test.txt");
else
Assert.assertTrue("The disk was not created.", false);
Файл Maven с java.library.path
http://maven.apache.org/maven-v4_0_0.xsd">
<dependencies>
<dependency>
<groupId>eldos</groupId>
<artifactId>eldos.cbfs</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.6.4</version>
</dependency>
<!--<!– Testing–>-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
<scope>test</scope>
</dependency>
<!--Other -->
</dependencies>
<build>
<resources>
<!-- standard Maven folder -->
<resource>
<directory>src/main/resources</directory>
</resource>
<!-- plus root folder -->
<resource>
<directory>.</directory>
<includes>
<include>plugin.xml</include>
<include>META-INF/*</include>
</includes>
</resource>
<resource>
<directory>${basedir}/target/dependency</directory>
<targetPath>.</targetPath>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>${source.target.version}</source>
<target>${source.target.version}</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack</id>
<phase>compile</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>eldos</groupId>
<artifactId>eldos.cbfs</artifactId>
<version>1.0.0</version>
<!--<classifier>eldos.cbfs</classifier>-->
<type>jar</type>
<overWrite>true</overWrite>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<systemProperties>
<property>
<name>java.library.path</name>
<value>target/lib/</value>
</property>
</systemProperties>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<useDefaultManifestFile>true</useDefaultManifestFile>
</configuration>
</plugin>
</plugins>
</build>