Menu

Maven Build Lifecycle

There are three out-of-the-box/implicit build lifecycles that Apache Maven provides: clean, default and site. The clean lifecycle handles project cleaning, while the default(install) lifecycle handles your project deployment, and the site lifecycle handles the creation of your project's website. You can read more detail of these Lifecycle phases of Maven Site.

Skip Running Tests from Maven Build

There are multiple ways to skip the execution of the tests from a Maven project. So that at the time of build it doesn't compile the unit tests. Following are the steps using that you can skip the unit test compilation.

1. The first way is; while compiling or building the project using mvn install command. There are two commands that you can use on the command line to skip the tests running.

a. -DskipTests

b. -Dmaven.test.skip=true

2. Another way is to add the skipTests configuration in POM.xml file within the maven-surefire-plugin plugin. Below is the plugin code snippet for POM file.

     <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.12.4</version>
        <configuration>
          <skipTests>true</skipTests>
        </configuration>
      </plugin>

Reference

  1. Skipping Tests - Maven

What is httpd?

HTTP server daemon(HTTPD), or the Apache HTTP Server, is a popular open-source web server software that is used to serve websites and web applications over the internet. It is developed and maintained by the Apache Software Foundation and is available for multiple operating systems including Linux, Windows, and macOS.

Apache HTTP Server is capable of handling a wide range of HTTP requests and supports several important web protocols such as HTTP/1.1, HTTP/2, and TLS/SSL. It can also be configured to support various programming languages and frameworks such as PHP, Python, and Ruby on Rails.

One of the reasons for Apache's popularity is its flexibility and extensibility. It supports a wide range of modules and plugins, which can be used to add various features and functionalities to the web server. These modules can be used to enhance the security, performance, and functionality of the web server.

Overall, Apache HTTP Server is a reliable and widely used web server software that has been serving websites and web applications for over two decades.

How to run multiple Microsoft Teams apps in a Machine

We can run multiple instances of Microsoft Teams apps in a machine and use two different Microsoft accounts to log in. This we can do using Microsoft Edge browser. Following are the steps to create additional Microsoft Teams in the system.

1. Open Edge browser 

2. Browse MS Teams https://teams.microsoft.com/

3. Login using your Microsoft account

4. Click on the browser option (...) from the right top of the browser (refer the below screenshot for steps)

5. Go to Apps

6. Now click on the option Install this site as an app


Multiple Instances of Microsoft Teams-Install Microsoft Teams as an app using Microsoft Edge
Install Microsoft Teams as an app using Microsoft Edge


This will install an app Microsoft Teams with a new name and you can use this along with MS Teams with a separate login.


Hope this helps. Thank you!

Create AEM Content Package using cURL

Use case

Create an Adobe Experience Manager (AEM) content package using cURL

cURL to create a package

Below is the syntax and a sample command to create an AEM content package using cURL.

curl -u <user>:<password> -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=create -d packageName=<name> -d groupName=<name>

e.g. curl -u admin:admin -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=create -d packageName=sample-test-package -d groupName=my_packages

After the successful execution of cURL, you will see a successful message.

{"success":true,"msg":"Package created","path":"/etc/packages/my_packages/sample-test-package.zip"}

Successful execution of cURL to create an AEM content package
Successful execution of cURL to create an AEM content package

Now login to AEM CRX package manager [/crx/packmgr] and verify your newly created package. You will see the package is available with the given name under the created group.

AEM package manager
AEM package Manager


Error

You might see some errors while running this cURL on your machine. 

Invoke-WebRequest : Parameter cannot be processed because the parameter name 'u' is ambiguous. Possible matches
include: -UseBasicParsing -Uri -UseDefaultCredentials -UserAgent.
At line:1 char:6
+ curl -u admin:admin -X POST http://localhost:4502/crx/packmgr/service ...
+      ~~
    + CategoryInfo          : InvalidArgument: (:) [Invoke-WebRequest], ParameterBindingException
    + FullyQualifiedErrorId : AmbiguousParameter,Microsoft.PowerShell.Commands.InvokeWebRequestCommand


Resolution 

Add .exe with curl keyword in command. After that, the cURL looks like this.

curl.exe -u admin:admin -X POST http://localhost:4502/crx/packmgr/service/.json/etc/packages/mycontent.zip?cmd=create -d packageName=sample-test-package -d groupName=my_packages


References

Using cURL in AEM


Insufficient Heap Memory

Issue "Insufficient Heap Memory"

Using 64bit VM settings, min.heap=1024MB, min permgen=256MB, default fork arguments=[-Xmx1024m, -XX:MaxPermSize=256m]

**** WARNING: insufficent heap memory ****
The JVM reports 910 MB but we recommend at least 1024 MB +/- 20
Use your JVM's heap size option (like -Xmx1024M) to set that size.
Will fork a JVM to get enough memory.
********************************************************************************
Available memory below specified limits and low-memory action set to fork, will fork to get enough memory
Not forking JVM as -nofork option is set
Setting properties from file

Resolution

If you have just closed any java program then wait for a few minutes and give chance to garbage collection to remove the unwanted space and clean the Heap memory.