0
enter code here
我已經創建了一個簡單的代碼,用於將虛擬磁盤安裝到系統中,使用來自標準安裝包的示例。 Java示例。所以,在我創建了幾個單元測試之後,第一個是將光盤安裝到系統中,並檢查第二個安裝盤是否嘗試安裝磁盤並嘗試創建簡單文件以檢查/處理創建/打開等事件文件,所以,如果我只使用一個測試,所有工作都很好,如果兩個我收到錯誤no jnicbfs in java.library.path
有人能幫我解決這個問題嗎? P.S. - 許可證是試驗 - 簡單代碼下面回調文件系統和「java.library.path中沒有jnicbfs」錯誤
@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/m艾文-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>
嘗試設置'-Djava.library.path = <包含jnicbfs.dll或其它內容的文件夾的位置>'請參閱http://stackoverflow.com/questions/1734207/how-to-set-java-library -path-for-processing – ecle 2012-03-28 13:23:20
@eee我已經setuped了它,只是編輯了mu的問題並添加了maven文件,BTW一個單元測試正在工作兩個不是 – 2012-03-28 13:36:46