Skip to content
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

Maven package produces error #87

Open
twhite94301 opened this issue Apr 13, 2024 · 5 comments
Open

Maven package produces error #87

twhite94301 opened this issue Apr 13, 2024 · 5 comments

Comments

@twhite94301
Copy link

When I clone the daisy/pipeline repository and then perform a "mvn package" I get the following error. I don't know how to fix this.

[1;36mDEBUGESC[m] =======================================================================
[1;33mWARNINGESC[m] The POM for com.sun.xml.bind:jaxb-extra-osgi:jar:2.2.11 is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for com.sun.xml.bind:jaxb-extra-osgi:2.2.11
[ERROR] 'dependencyManagement.dependencies.dependency.systemPath' for com.sun:tools:jar must specify an absolute path but is ${tools.jar} @

How do I find com.sun:tools:jav to create an absolute path?

@bertfrees
Copy link
Member

Hum, perhaps this is an issue with later versions of Java. I recommend building with JDK 8 or 11. Those are the two version I use.

By the way, the daisy/pipeline repository is not intended to be built using mvn package. Depending on what exactly you want to do, this might not be the repository you are looking for. Can you explain what exactly is your goal? Then I can give more specific advice.

@twhite94301
Copy link
Author

Thanks I will check my Java version. What I am trying to do is build an interface to our Indic languages in order to add them to the languages that the Daisy/Pipeline supports. To do this I plan on writing a mock google interface to talks to our voice engine. But, first I simply want to build the existing pipeline code.

@bertfrees
Copy link
Member

There is currently not really a way to build the complete Pipeline code. Pipeline consists of a large number of modules that are already compiled and available on Maven Central, and the "pipeline-assembly" project collects all these modules to create the final package. If you make a change, only those modules that were affected need to be recompiled, and the corresponding version numbers updated in the assembly project. There is some manual work involved in updating the version numbers, but that should be manageable if you plan on adding just one new module or making changes to one existing module.

@twhite94301
Copy link
Author

twhite94301 commented May 3, 2024 via email

@bertfrees
Copy link
Member

bertfrees commented May 3, 2024

Hi Tim. You shouldn't have to worry about where to get files that the code depends on. The dependencies should all be downloaded automatically. If things are properly set up. Your build problem seems to be that it fails to download dependencies from Maven central.

Perhaps this is because I always use make to build the project, never mvn directly. make makes sure the the correct Maven settings are used. To create these settings, I run:

make settings.xml

The Makefile was written to work on Linux and macOS systems. If you are on Windows, you might be out of luck and we might need to go another route.

I can then run the command eval $(make dump-maven-cmd), and then use mvn like I would normally use itn e.g. mvn -f modules install -DskipTests to build all the modules and install them into a local repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants