I'm new to maven.
Given enterprise level Java application. Source code is managed by subversion.
As I understand once I friezed code, I should be able to compile it 5 years latter and receive the same result, but I'm bit concerned if maven can handle it with 100% accuracy:
- Is it possible when maven goes to internet it will bring corrupted jar (e.g. network problem or mirror has incorrect jar)?
- Let say I want to recompile my code 5 years latter. Is it possible required jar won't be there?
- Isn't it risky for enterprise application to dependent on such "opaque" external sources (e.g. internet mirror).
From other side in my previous place we exploited for that svn:external - we has a special directory (vendor branch) in svn for all 3rd products (jars). For each product and its specific version there's a dedicated directory. Application code uses svn external to bring concrete jar from the vendor branch.
In this configuration I know all jars under source control and I'll be able to rebuild my application after 5 years and pack it with the same jars as 5 years before.
Do I miss something?