- Scenario 1:
You can't compile because some arbitrary jar file is missing ... which is really a part of some bigger jar file or package ... so you can't find it on any maven repository.
As an example, let's take the case of servlet.jar Well what do you do?- Cases like this exist because the jar will be present in the Application Server (Tomcat, Jboss etc.) at run-time for your code to use. So you really shouldn't look for the servlet.jar but instead you should be looking out for servlet-api.jar file, which will let you compile your source code.
- Anyway a simple search on google couldn't hurt. Start with:
- the name of your favorite maven repository host,
- the generic name of the file you are looking for,
- the keyword maven
- Some more clues: http://stackoverflow.com/questions/1979957/maven-dependency-for-servlet-3-0-api
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
- Scenario 2:
An arbitrary class file is missing, which you know nothing about!
For example, let's take the case of PersistenceCapable, just a file that I don't expect anyone to know off the top of their heads but which can pop-up in a failed build.
Well what do you do?- I prefer starting my search on http://www.findjar.com but if you search on google, it will probably show you a crawled result from that site anyway.
- My search through google led me to findjar which told me:
Information on class javax.jdo.annotations.PersistenceCapable:
Containing JAR files:
[MAVEN] jdo2-api-2.1.jar
[MAVEN] jpox-java5-1.2.0-beta-2.jar- Notice the [MAVEN] tag next to the search results, this means that not only was the jar containing this file found but there is also a known maven repository location available!
Hopefully this example will help you resolve similar issues with other such dependencies. - Scenario 3:
You can't compile because the build failed to resolve some arbitrary artifact, which you know nothing about.
For example, let's take the case of javax.transaction:transaction-api:jar:1.1, which I ran into.
Even when you search for it, you realize that you have two equally unpleasant issues to tackle:- the artifact being asked for is present in a Maven 2 Repository but with another ArtifactID
I found out that JTA 1.1 is in the Maven 2 Repository over at iBiblio with another ArtifactID: ("jta" instead of "transaction-api")
Well what do you do?
- the artifact being asked for is present in a Maven 2 Repository but with another ArtifactID
- the artifact is available in a maven1.x repo instead of a maven2.x repo
I found out that a maven1.x repository had what I needed: http://download.java.net/maven/1/javax.transaction/jars/transaction-api-1.1.jar
Well what do you do?- http://maven.apache.org/guides/mini/guide-using-m1-repos-with-m2.html
Friday, January 8, 2010
Traversing Maven Dependencies
Monday, January 4, 2010
Moving Maven from Flex 3 to Flex 4
Often you may have a dependency for Flex 3 in your pom.xml, such as:
com.adobe.flex.framework
flex-framework
3.x.x.xxxx
pom
and you may be wondering how to get up to speed with Flex 4 as you cannot find a version # to attach to the SDK you downloaded! Well you can look here: http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4 as this page lists the build # that you want to stick into the tag.
For example, after looking at the website listed above,
a) with flex 4 beta 2 you would put:4.0.0.10485
b) with flex 4 beta 1 you would put:4.0.0.7219
Also you can check you local installation: FLEX_HOME\sdks\X.X.X\flex-sdk-description.xml
If you have flex mojos as part of your pom also then make sure to have a look here too: https://docs.sonatype.org/display/FLEXMOJOS/How+to+set+Flex+SDK+version ... You should also know that it didn't seem to work right away, instead afterr half hour of leaving that config in place but not having it work, eclipse magically found and downloaded the right compiler version and all went well. Not sure if it had to do with network timeouts or if the stuff was just added to the maven repo very recently.
and you may be wondering how to get up to speed with Flex 4 as you cannot find a version # to attach to the SDK you downloaded! Well you can look here: http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4 as this page lists the build # that you want to stick into the
For example, after looking at the website listed above,
a) with flex 4 beta 2 you would put:
b) with flex 4 beta 1 you would put:
Also you can check you local installation: FLEX_HOME\sdks\X.X.X\flex-sdk-description.xml
If you have flex mojos as part of your pom also then make sure to have a look here too: https://docs.sonatype.org/display/FLEXMOJOS/How+to+set+Flex+SDK+version ... You should also know that it didn't seem to work right away, instead afterr half hour of leaving that config in place but not having it work, eclipse magically found and downloaded the right compiler version and all went well. Not sure if it had to do with network timeouts or if the stuff was just added to the maven repo very recently.
Subscribe to:
Posts (Atom)