extracting common code in springboot using maven
I have 2 spring-boot projects. One is 2.1.0 version, another 2.0.4. These projects has some duplicate classes/methods, and I'd like to extract them to common place. Both project has common parent to share distributionManagement data, and in each project spring-boot bom is imported. I'd like to have possibility of independent spring-boot versions in these projects, and it seems to me, that correct way to go is to move common code into new dependency, new jar.
But I don't know how to correctly do that. Lets say, that I'm extracting functionality, that requires some maven dependency, which is defined in both projects, and its version is imported from spring-boot bom. Thus project with newer spring-boot version could import newer dependency than other project. But what version should I use for newly created jar?
I don't think it's a good idea to import either spring-boot bom there, as there might be also non-springboot user of that library, hypothetically speaking. Or should I declare in extracted library the oldest version and let maven resolution to it's job? But that can make shorter path to this new dependency and although using newer spring, I would be using older dependency...
Can someone advice on this? I'm really lost in it.
spring-boot maven-3
add a comment |
I have 2 spring-boot projects. One is 2.1.0 version, another 2.0.4. These projects has some duplicate classes/methods, and I'd like to extract them to common place. Both project has common parent to share distributionManagement data, and in each project spring-boot bom is imported. I'd like to have possibility of independent spring-boot versions in these projects, and it seems to me, that correct way to go is to move common code into new dependency, new jar.
But I don't know how to correctly do that. Lets say, that I'm extracting functionality, that requires some maven dependency, which is defined in both projects, and its version is imported from spring-boot bom. Thus project with newer spring-boot version could import newer dependency than other project. But what version should I use for newly created jar?
I don't think it's a good idea to import either spring-boot bom there, as there might be also non-springboot user of that library, hypothetically speaking. Or should I declare in extracted library the oldest version and let maven resolution to it's job? But that can make shorter path to this new dependency and although using newer spring, I would be using older dependency...
Can someone advice on this? I'm really lost in it.
spring-boot maven-3
add a comment |
I have 2 spring-boot projects. One is 2.1.0 version, another 2.0.4. These projects has some duplicate classes/methods, and I'd like to extract them to common place. Both project has common parent to share distributionManagement data, and in each project spring-boot bom is imported. I'd like to have possibility of independent spring-boot versions in these projects, and it seems to me, that correct way to go is to move common code into new dependency, new jar.
But I don't know how to correctly do that. Lets say, that I'm extracting functionality, that requires some maven dependency, which is defined in both projects, and its version is imported from spring-boot bom. Thus project with newer spring-boot version could import newer dependency than other project. But what version should I use for newly created jar?
I don't think it's a good idea to import either spring-boot bom there, as there might be also non-springboot user of that library, hypothetically speaking. Or should I declare in extracted library the oldest version and let maven resolution to it's job? But that can make shorter path to this new dependency and although using newer spring, I would be using older dependency...
Can someone advice on this? I'm really lost in it.
spring-boot maven-3
I have 2 spring-boot projects. One is 2.1.0 version, another 2.0.4. These projects has some duplicate classes/methods, and I'd like to extract them to common place. Both project has common parent to share distributionManagement data, and in each project spring-boot bom is imported. I'd like to have possibility of independent spring-boot versions in these projects, and it seems to me, that correct way to go is to move common code into new dependency, new jar.
But I don't know how to correctly do that. Lets say, that I'm extracting functionality, that requires some maven dependency, which is defined in both projects, and its version is imported from spring-boot bom. Thus project with newer spring-boot version could import newer dependency than other project. But what version should I use for newly created jar?
I don't think it's a good idea to import either spring-boot bom there, as there might be also non-springboot user of that library, hypothetically speaking. Or should I declare in extracted library the oldest version and let maven resolution to it's job? But that can make shorter path to this new dependency and although using newer spring, I would be using older dependency...
Can someone advice on this? I'm really lost in it.
spring-boot maven-3
spring-boot maven-3
asked Nov 12 at 12:33
Martin Mucha
13610
13610
add a comment |
add a comment |
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53262303%2fextracting-common-code-in-springboot-using-maven%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53262303%2fextracting-common-code-in-springboot-using-maven%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown