1
在我的项目,我需要使用libav转换视频和音频。所以我需要在我的项目中包含libav工具。 这是我的项目结构:Grails的战争中找不到Java类文件
grails-project
|
|-- .classpath
|-- .groovy
|-- .project
|-- .settings
|-- application.properties
|-- grails-app
|-- lib
| |-- avconv -->>> `This is the folder which contains libav tools`
|-- scripts
|-- src
| |-- groovy
| |-- java
| | |-- Converter.class -->>> `This is my converter class`
|-- target
|-- test
|-- web-app
而且我用Java接口libav这是avconv4java。 它运行过程以执行libav命令和我这样设置libav路径:
它里面经过的路径作为参数来的ProcessBuilder Java界面和它开始它等
在开发环境运行良好。然而,当我部署战争和尝试转换视频我得到了以下错误:
java.io.IOException: Cannot run program "lib/avconv/bin/avconv.exe": CreateProcess error=2, The system cannot find the file specified
我看着我的部署结构,并发现avconv文件夹不是lib文件夹中。所以我说这行BuildConfig:
grails.war.resources = { stagingDir, args ->
copy(todir: "${stagingDir}/WEB-INF/lib/avconv") {
fileset(dir: "lib/avconv", includes:"**")
}
}
现在avconv是在lib文件夹式的发展环境 - 但是,我还是得到同样的错误。我应该怎么做才能使它工作?
任何帮助表示赞赏。 在此先感谢。
GRAILS VERSION:2.4.5 中的IntelliJ 部署到Tomcat 7发展
谢谢你的回答。我通过提供绝对路径来解决它,所以我将接受这个答案作为未来的回应:)我希望你早些回答:))) – ayZagen