Eclipse Lyo Migration Guide Overview¶
This section provides comprehensive guidance for migrating between different versions of Eclipse Lyo, from legacy 2.x versions to the latest 7.x releases.
Migration Path Overview¶
graph LR
A[Lyo 1.x] --> B[Lyo 2.x]
B --> C[Lyo 4.x]
C --> D[Lyo 5.x]
D --> E[Lyo 6.x]
E --> F[Lyo 7.x]
B -.-> C1[Major<br/>JAX-RS & Jena<br/>Upgrade]
C -.-> D1[JDK 11+<br/>Component<br/>Removal]
D -.-> E1[Jakarta EE<br/>Migration]
E -.-> F1[Security<br/>Updates]
style C1 fill:#ff9999
style D1 fill:#ffcc99
style E1 fill:#ff9999
style F1 fill:#99ff99
Migration Complexity Matrix¶
From Version | To Version | Complexity | Key Changes |
---|---|---|---|
2.x β 4.x | π΄ High | JAX-RS 1.1β2.0, Jena 2.xβ4.x, JDK 7β8+ | |
4.x β 5.x | π‘ Medium | JDK 11+, Component removal, Jena upgrade | |
5.x β 6.x | π΄ High | Jakarta EE migration (javaxβjakarta) | |
6.x β 7.x | π’ Low | Security updates, WORK IN PROGRESS |
Lyo 3.x Does Not Exist
There is no Eclipse Lyo version 3.x. The project went directly from Lyo 2.x to Lyo 4.x to avoid confusion with the OSLC 3.0 specification. When you see references to "OSLC 3.0", this refers to the specification version, not the Lyo SDK version.
Detailed Migration Guides¶
π΄ Major Migrations (High Risk/Effort)¶
Lyo 2.x to 4.x Migration¶
Most Complex Migration - Plan Carefully
- JAX-RS Framework Change: Apache Wink β Jersey 2.x
- Jena Package Renaming:
com.hp.hpl.jena.*
βorg.apache.jena.*
- JDK Upgrade: Java 7 β Java 8+
- Repository Migration: Eclipse Maven β Maven Central
- Client Library: Replace old client with new Lyo 4.0 client
β οΈ High Risk Factors: - Custom JAX-RS providers need rewriting - All Jena imports must be updated - Web.xml configuration changes required - Extensive testing needed
Lyo 5.x to 6.x Migration¶
Jakarta EE Namespace Migration
- Package Renaming: All
javax.*
βjakarta.*
- JDK Upgrade: Java 11 β Java 17+
- Jersey Upgrade: 2.35 β 3.1.5
- Servlet Container: Requires Jakarta EE 9+ support
β οΈ High Risk Factors: - Every Java EE import needs updating - Application server compatibility requirements - Jersey 3.x has configuration changes - JSP taglib updates needed
π‘ Medium Migrations¶
Lyo 4.x to 5.x Migration¶
JDK and Component Cleanup
- JDK Upgrade: Java 8 β Java 11+
- Component Removal: Several deprecated components removed
- Jena Upgrade: 3.x β 4.5.0 (security update)
- TRS Changes: BigInteger support for order properties
β οΈ Medium Risk Factors: - JDK 11+ compatibility testing needed - Removed components must be replaced - TRS code needs BigInteger updates
π’ Low-Risk Migrations¶
Lyo 6.x to 7.x Migration¶
Security-Focused Update
- Jena Security Update: 4.8 β 4.10 (CVE-2023-32200)
- Deprecated Removal:
oslc4j-json4j-provider
removed - Bug Fixes: OSLC Query improvements
β Low Risk Factors: - Minimal breaking changes - Mostly dependency updates - Security improvements
Migration Strategy Recommendations¶
π― Recommended Approach: Incremental Migration¶
Don't skip versions! Each migration guide builds on the previous:
- Start with your current version
- Follow each guide in sequence
- Test thoroughly at each step
- Don't rush major migrations
Migration Support Resources¶
π Documentation¶
- Eclipse Lyo Project - Main project repository
- Lyo Release Notes - Detailed release information
- RefImpl Examples - Working migration examples
π¬ Community Support¶
- OSLC Community Forum - Get help from the community
- GitHub Issues - Report bugs or ask questions
- Eclipse Lyo Dev List - Developer discussions
π§ Migration Tools¶
- Eclipse Transformer - Automates
javax.*
βjakarta.*
migration - IDE Refactoring Tools - Help with package name changes
- Maven Dependency Analyzer - Identify dependency conflicts
Troubleshooting Common Issues¶
Build Failures¶
- Maven repository issues: Ensure you're using Maven Central, not old Eclipse repos
- Dependency conflicts: Use
mvn dependency:tree
to identify conflicts - JDK version mismatches: Verify JDK version matches Lyo requirements
Runtime Errors¶
- ClassNotFoundException: Usually indicates missing dependencies or wrong versions
- NoSuchMethodError: API changes between versions - check release notes
- ServletException: Configuration issues, especially with Jakarta EE migration
Performance Issues¶
- Memory usage: New Jena versions may have different memory patterns
- Startup time: Jersey versions may affect startup performance
- Response time: Test under load to ensure acceptable performance
Need Help?
If you encounter issues during migration, don't hesitate to:
- Check the specific migration guide for your version combination
- Search the OSLC Community Forum for similar issues
- Review RefImpl migration commits for working examples
- Post questions on the forum with specific error messages and configuration details