I consider migrating a project to Apache Jena but can't get my mind around Jena's architecture. In this example...
https://github.com/apache/jena/tree/master/jena-permissions/src/example/java/org/apache/jena/permissions/example
... we make use of the "permissions" package.
But when I try to imitate what they do in the example using Eclipse and importing the *.jar files from apache-jena-3.1.1 as dependencies, the package org.apache.jena.permissions seems to be missing or inaccessible. Other packages such as org.apache.jena.rdf.model are accessible.
How can I access this package? Thank you very much.
--
Okay, I found the package at Maven: https://jena.apache.org/download/maven.html
Is this the only way to get it, even if you do not use Maven?
mvnrepository.com is usually a better place to search for a Java package:
If you still want to include JARs by hand (the link above is highlighted), don't forget to manually resolve the JARs that jena-permissions depends on:
P.S. I side with #AndyS that learning a dependency management system is 100% worth the effort.
I found the download link on my own. You need to go here to get the package: https://repository.apache.org/content/repositories/releases/org/apache/jena/jena-permissions/
Related
I've googled on it and I've seen a lot of different sites that offers the struts2-junit-plugin.
I'm currently using struts-2.2.1.1. Should I get struts2-junit-plugin-2.2.1.1 as well?
Also, my project doesn't use Maven. When I downloaded a struts2-junit-plugin, I inspected the .jar file and found a pom.xml containing all of its dependencies. Should I separately download all these dependencies manually since I don't use Maven?
Yes, you should use the matching junit-plugin version (2.2.1.1)
Yes, but you also need to load the dependencies' dependencies, the dependencies' dependencies' dependencies ad nauseam until you're at the end.
Point 2 is why you really should be using Maven or similar mechanism.
Getting dependencies by hand is error-prone, tedious, and silly.
I've noticed that in eclipse if you Right click on a project -> Grails Tools -> You have the option to 'Download Source Jars'.
What is the point of this and what are some common reasons as to why you would want to do this?
Grails 2.2.3
Edit:
I'm not even sure what grails does instead of that.
Many (most) libraries (JARs, "artifacts" in the Maven terminology) publish a sources archive alongside their binary artifacts in the repositories. This can be useful for Eclipse to show you the Javadoc and source code when you're using the library in your projects. As #JonSkeet commented above, it's very useful to have source code available directly in the IDE when using a library.
By default, Grails does not download the sources for artifacts; this option triggers it to do so and attach the sources to the binary JARs.
Agreed with E-Riz.
Here are the reasons I use the sources:
i want to have a deeper understanding of how the library works when debugging my own depending code
i want to find a possible bug in the library, so I can fork it and apply my own patch. i will possibly share this with the maintainers as a pull request if I'm willing to spend that much time on it.
i want to find out what logging systems it uses that might be poorly documented, so I can see better what their code is doing during runtime, to troubleshooting complicated problems.
I have a project where I'd like to use https://www.nuget.org/packages/Bootstrap.Datepicker/, so being a good modern developer I tell VS to add that nuget package. Which is cool. But along with it comes Bootstrap 2.3.1, which I know is a dependency of that package. But my project already has the Bootstrap Less Source (3.2.0.1) package installed, and I'm concerned about having two different "instances" of the "same" package in my project. Another developer on my team has pointed out that any and all Nuget packages that are based on bootstrap probably will require the default one, not the less source package we're using, even though that works best for us.
Is there some way in nuget to tell it to ignore dependencies, or convince it that instead of the dependency it's expecting, it's been met in another way?
everyone.
I am new to Go language and currently I am trying to understand the basics of building Go applications. I met the following problem.
For example, I am using other libraries in my project. I have them locally, on my computer, so my project works fine.
I am loading my code on github and another programmer download it. As I understand, my code won't work, because this programmer doesn't have the libraries I used.
So the question is: What is the best way to share my project with all libraries it has? Should I upload these libraries in the separate repositories? Then to use my project, people need to look inside the code to detect which libraries I am using to download them one by one?
For example, in Java there is such thing like Maven or Ant, which downloads all required dependencies. Is there any tools like this for Go?
Let's call the main file of my project main.go
And I am using my own library: mathutil.go
what is the best way to make this project run on other computers?
Go's dependencies work very much like using Maven or IVY transitive dependencies. When someone does "go get" of your package, anything you depend on will automatically download.
For example, in your source:
import "github.com/foo/bar"
go will automatically download that to your $GOPATH/src/github.com/foo/bar along with your code.
Assuming the third party libs you use are hosted in a public repo (ie: github) then people don't need to do anything.
If the libraries you used are not available on a public repo, you will need to post them somewhere assuming their licensing allows.
Take a look at golang.org/doc/code.html for more details
I'm developing a plugin for SublimeText that uses the FullScreenStatus plugin. Is there a way to set it up so that if someone installs my plugin, the FullScreenStatus plugin will be automatically installed as well, like a requires directive? Every other package manager I know of can do this, but I couldn't find anything in the docs and no other package I looked at is trying to require another package.
Since FullScreenStatus is MIT licensed, I could just include it in mine, but is there a way to require it without doing that?
You either have to bundle it yourself, or explain in the install message and README there is an external dependency. If you feel like adding to the discussion on dependency management, feel free to contribute to https://github.com/wbond/sublime_package_control/issues/166. Some initial work can be seen at https://github.com/wbond/sublime_package_control/issues/291#issuecomment-14028788.