-
Notifications
You must be signed in to change notification settings - Fork 744
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What gradle dependencies are needed #477
Comments
What does the dependency tree look like?
|
I'll admit I am a little new to the Maven/Gradle world. I that something I can view from withing Eclipse or do I need to run it at the command line...(did a couple of quick searches looking for a quick answer...) |
Got it:Root project - MediaProcessingarchives - Configuration for archive artifacts. compile - Dependencies for source set 'main'. compileClasspath - Compile classpath for source set 'main'. compileInclude - Additional dependencies to include in the final JAR. compileOnly - Compile dependencies for source set 'main'. cssBuilder - Configures Liferay CSS Builder for this project. default - Configuration for default artifacts. javadocFormatter - Configures Liferay Javadoc Formatter for this project. jsCompile - Configures additional JavaScript dependencies. jspC - Configures the classpath of the JSP compilation tasks. jspCTool - Configures Liferay Jasper JspC for this project. langBuilder - Configures Liferay Lang Builder for this project. portal - Configures the classpath from the local Liferay bundle. portalCommonCSS - Configures com.liferay.frontend.css.common for compiling CSS files. portalToolsDeployer - Configures the Deployer tool for this project. runtime - Runtime dependencies for source set 'main'. sourceFormatter - Configures Liferay Source Formatter for this project. soy - Configures Closure Templates for this project. soyCompile - Configures additional Soy dependencies. testCompile - Dependencies for source set 'test'. testCompileClasspath - Compile classpath for source set 'test'. testCompileOnly - Compile dependencies for source set 'test'. testIntegrationCompile - Dependencies for source set 'test integration'. testIntegrationCompileClasspath - Compile classpath for source set 'test integration'. testIntegrationCompileOnly - Compile dependencies for source set 'test integration'. testIntegrationRuntime - Runtime dependencies for source set 'test integration'. testRuntime - Runtime dependencies for source set 'test'. tldFormatter - Configures Liferay TLD Formatter for this project. tlddoc - Configures Tag Library Documentation Generator for this project. xmlFormatter - Configures Liferay XML Formatter for this project. |
So, it looks like your Gradle doesn't pick up any "windows-x86_64" artifacts in the dependencies for some reason. You'll need to fix that... |
Ok, Thanks. I'll dig a bit and see what I can find.... Should I use this:
Instead of: If so, should I specify the classifier: 'windows-x86_64' for any other dependencies? |
Yes, that might work.
|
That seems to have worked although I am not 100% confident..yet. I'll continue to experiment. I am concerned that I would need to change dependencies based on my deployment target (Windows vs Linux). I was hoping to be able to compile and deploy regardless of target OS. I may add the other references back in and see if the code continues to work so I can deploy without changing dependencies and re-deploying.. Thanks for weighing in. |
That's what the "-platform" artifacts are for, please read the README.md
file. If you need to have all this working like it should, you'll need to
help me reproduce the issue. When I follow the instructions in the
README.md file, everything works fine on my side.
|
I get that...I just didn't know why it was wasn't working.....I reverted my changes back for Gradle, dropping the "classifier", What I suspected was that there was something not quite right with class loading or replacing the OSGI modules when I recompiled and redeployed. So I shutdown Tomcat, exited from Eclipse and sure that there was no JVM instances running and then restarted Eclipse, restarted Tomcat and re-deployed my module. It IS working as expected now. I don't know if the issue is with Eclipse, Tomcat or the Liferay framework these OSGI modules are compiled within but it isn't within presets. Thanks for your patience with this. Many moving parts to sort through. All is well now. |
Ok, good! BTW, with Tomcat, you also have to make sure to use the shared class loader for those: |
…for 'spinError' After JavaCPP fix bytedeco#477, enum for spinError was no longer generated. All line in 'Spinaker_C' preset to force enum generation.
I have some code here: https://github.com/phelgren/Transcode-video-and-audio-using-the-bytedeco-libs that I am currently running on RHEL5 (manually built and compiled) and on CentOS7 (build using Maven) . I am trying to get the code to run on Windows 10. Not much difference between the the Windows 10 and CentOS7 code except one is built with Maven and one uses Gradle. Both the CentOS7 and the Windows code is built in the same workspace in Eclipse on Windows 10. Both deploy to Tomcat (8.0) one as a war the other as an OSGI module. The Windows 10 runtime fails with a NoClassDefFoundError:
Exception in thread "Thread-52" java.lang.NoClassDefFoundError: Could not initialize class org.bytedeco.javacpp.avformat$AVFormatContext
at org.bytedeco.javacv.FFmpegFrameGrabber.startUnsafe(FFmpegFrameGrabber.java:471)
at org.bytedeco.javacv.FFmpegFrameGrabber.start(FFmpegFrameGrabber.java:465)
at org.bsfinternational.media.process.MergeUsingFFMPEG.run(MergeUsingFFMPEG.java:266)
at java.lang.Thread.run(Thread.java:748)
The Gradle dependencies look like this:
// https://mvnrepository.com/artifact/org.bytedeco.javacpp - STUFF
compileInclude group: 'org.bytedeco', name: 'javacpp', version: '1.3.3'
compileInclude group: 'org.bytedeco', name: 'javacv-platform', version: '1.3.3'
compileInclude group: 'org.bytedeco.javacpp-presets', name: 'ffmpeg', version: '3.2.1-1.3'
compileInclude group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '3.2.0-1.3'
compileInclude group: 'org.bytedeco.javacpp-presets', name: 'ffmpeg-platform', version: '3.2.1-1.3'
Not a whole lot different from the Maven POM entries:
org.bytedeco
javacpp
1.3.3
provided
So, I don't see a whole lot different but I wonder is there is something I need to change to accommodate Windows vs Linux? I don't quite see what is missing that is causing the failure. Something simple (I hope)
The text was updated successfully, but these errors were encountered: