More than 3000 questions in repository. There are more than 900 unanswered questions. Click here and help us by providing the answer. Have a video suggestion. Click Correct / Improve and please let us know.
Ans. Maven requires installation in the working system and the Maven plug-in for the IDE.
If the Maven code for an existing dependency is unavailable, you cannot add that dependency using Maven itself.
Some sources claim that Maven is slow.
Help us improve. Please let us know the company, where you were asked this question :
Ans. Maven is a build tool whereas Jenkins is continuous integration system.
Maven deals with application compilation, build and packaging whereas Jenkins tracks SCM for triggering builds and packages, triggering parent project builds upon dependencies, initiating builds and performing alerts. So Jenkins is kind of a wrapper around SCM and Build Tool for continuous integration and deployment.
Help us improve. Please let us know the company, where you were asked this question :
Ans. Maven provides a facility to have a structure of inheritance relationship between modules / projects through parent tag in POM file. When we try building the parent project , all its child modules are built first in the order specified in the parent POM file.
Help us improve. Please let us know the company, where you were asked this question :
Q9. Write a Program to check if string is a Colidrome ?
(Colidrome is a word that has n alphabets followed by the reverse of the n alphabets, for ex - mallom)
Ans.
public class Class {
public static void main(String[] args) {
String str = "mallam";
String firstHalf = str.substring(0, str.length() / 2);
String secondHalf = str.substring(str.length() / 2);
if (firstHalf.equals(new StringBuilder(secondHalf).reverse().toString())) {
System.out.println("It's a Colidrome");
} else {
System.out.println("It's not a Colidrome");
}
}
}
Help us improve. Please let us know the company, where you were asked this question :
Ans. Maven Module has a Parent whereas Project doesnt. when we add the parent section to the pom file, it adds the module section to the parent project pom file. When we execute mvn compile / install, it basically checks that module section of the parent to identify all the modules that needs to be compiled first.
Help us improve. Please let us know the company, where you were asked this question :
Ans. That depends if the interface for the resource in Project B gets changed. If only the internal implementation is changed, No change is required in Project A. Project A is not even required to be rebuilt.
Help us improve. Please let us know the company, where you were asked this question :
Ans. This scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases. This scope is not transitive.
Help us improve. Please let us know the company, where you were asked this question :
Ans. Step 1 - Upgrade the required dependency , perform build and check build errors
Step 2.1 - If the error is of missing transitive dependency ( which is rare and means that the previous version has a dependency which is missing in the later version ), I would look for the dependency in google and hence will include it as direct dependency in Pom file.
Step 2.2. If the error is for Duplicate dependencies , and the choice is between transitive and direct dependency, I usually remove the direct dependency.
Step 2.3 - If the error is for Duplicate dependencies , and both are transitive dependencies. I first make a choice ( usually later version ) and then ignore the previous version dependency.
Step 2.4 - If the error is for Duplicate dependencies , and there are more than 2 duplicates, I usually ignore it by specifying within maven-enforcer-plugin config.
Step 3 - Perform a Clean Build.
Step 4 - Check Maven Dependency Tree to make sure that Duplicates have been removed or dependency is there in case of missing dependency.
Step 5 - Perform tests and make sure that there are no runtime problems.
Step 6 - If there are runtime problems ( which very likely occurs if you have different version dependencies , very likely by doing 2.4 , you will have to remove step 2.4 and alternately perform 2.2 or 2.3 )
Help us improve. Please let us know the company, where you were asked this question :
This is the default scope. Compile dependencies are available in all classpaths of a project. Moreover, these dependencies are propagated to dependent projects.
Provided
This is much like compile, but indicates you expect the JDK or a container to provide the dependency at runtime.
Runtime
This scope indicates that the dependency is not required for compilation, but is for execution.
Test
This scope indicates that the dependency is is only available for the test compilation and execution phases. This scope is not transitive.
System
This scope is similar to provided except that you have to provide the JAR which contains it explicitly.
Help us improve. Please let us know the company, where you were asked this question :
Ans. Yes , we have been using this plugin with our projects and its purpose is to warn and stop the Build if there are duplicates of the same package and class are being carried either directly or through transitive dependencies. the duplicate could be coming through different types of dependencies or through different versions of the same dependency. Its purpose is to make sure that there is only one copy thats being used at compile time and runtime and hence shouldnt later result in runtime problems.
Help us improve. Please let us know the company, where you were asked this question :
Very frequently asked. Among first few questions in almost all interviews. Among Top 5 frequently asked questions. Frequently asked in Indian service companies (HCL,TCS,Infosys,Capgemini etc based on multiple feedback ) and Epam Systems
Ans. "equals" is the method of object class which is supposed to be overridden to check object equality, whereas "==" operator evaluate to see if the object handlers on the left and right are pointing to the same object in memory.
x.equals(y) means the references x and y are holding objects that are equal. x==y means that the references x and y have same object.
Sample code:
String x = new String("str");
String y = new String("str");
System.out.println(x == y); // prints false
System.out.println(x.equals(y)); // prints true
Ans. The best practice guideline between settings.xml and pom.xml is that configurations in settings.xml must be specific to the current user and that pom.xml configurations are specific to the project.
Help us improve. Please let us know the company, where you were asked this question :
Ans. By default, the location of the generated jar is in ${project.build.directory} or in your target directory. We can change this by configuring the outputDirectory of maven-jar-plugin.
Help us improve. Please let us know the company, where you were asked this question :