编译ODL Controller路径及Yang Tools版本适配问题咨询
Hey there! Let's break down and fix your ODL Controller compilation problems one by one:
1. Correct Compilation Path
The file structure of ODL Controller has indeed evolved over versions. When you clone the repo using git clone https://git.opendaylight.org/gerrit/p/controller.git, the root directory of the cloned controller folder is where you should run your compilation commands. You don't need to navigate into a deeper subdirectory like control... (that's likely a leftover path from older versions).
Just run:
cd controller
This will put you in the right place to start building.
2. Yang Tools Version Confusion
You mentioned the requirement is Yang Tools ≥0.5.8-SNAPSHOT, but your downloaded code uses 0.8.0. Don't worry—0.8.0 is a newer, compatible version that fully meets the minimum requirement. Version numbers in ODL follow semantic versioning, so a higher minor version (0.8.x vs 0.5.x) means it includes all features of older versions plus improvements.
If you still run into dependency-related errors during compilation, you can verify the Yang Tools version in the root pom.xml file of the controller repo. Look for a section like:
<dependency> <groupId>org.opendaylight.yangtools</groupId> <artifactId>yangtools-parent</artifactId> <version>0.8.0</version> <type>pom</type> <scope>import</scope> </dependency>
This confirms the version is correctly set to a valid, compliant release.
3. Step-by-Step Compilation Command
Once you're in the root controller directory, run these commands to compile (skipping tests can save time for initial builds):
# Clean previous build artifacts mvn clean # Compile and install the project mvn install -DskipTests
If you encounter specific errors during the build, feel free to share the error logs for more targeted help!
内容的提问来源于stack exchange,提问作者Juan Andrés Martinez

