maven-shaded-log4j-transformer icon indicating copy to clipboard operation
maven-shaded-log4j-transformer copied to clipboard

Update the Shade Plugin version

Open feinstein opened this issue 7 years ago • 11 comments

Right now the Maven shade plugin version is at 3.1.0 and your library's compatibility is at 2.4.3. Please update the library to the latest Maven shade plugin version.

feinstein avatar Dec 12 '17 21:12 feinstein

I get

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:3.1.0:shade (default) 
on project syi-platform: Unable to parse configuration of mojo org.apache.maven.plugins:maven-shade-plugin:3.1.0:shade for parameter resource: Cannot find 'resource' in class 
com.github.edwgiz.mavenShadePlugin.log4j2CacheTransformer.PluginsCacheFileTransformer -> [Help 1]

Using whatever version of shade. Not sure if it is related. Any ideas?

paulosuzart avatar May 10 '18 16:05 paulosuzart

@paulosuzart what does you pom.xml look like?

PyvesB avatar May 24 '18 20:05 PyvesB

@PyvesB I think I am seeing the same issue as paulosuzart. [ERROR] Failed to execute goal org.apache.maven.plugins:maven-shade-plugin:2.4.3:shade (default) on project promoscombos: Unable to parse configuration of mojo org.apache.maven.plugins:maven-shade-plugin:2.4.3:shade for parameter resource: Cannot find 'resource' in class com.github.edwgiz.mavenShadePlugin.log4j2CacheTransformer.PluginsCacheFileTransformer -> [Help 1] Here is what I have in my pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
	<dependency>
		<groupId>com.amazonaws</groupId>
		<artifactId>aws-lambda-java-log4j2</artifactId>
		<version>1.0.0</version>
	</dependency>
	<dependency>
		<groupId>org.apache.logging.log4j</groupId>
		<artifactId>log4j-api</artifactId>
		<version>2.8.1</version>
	</dependency>
	<dependency>
		<groupId>org.apache.logging.log4j</groupId>
		<artifactId>log4j-core</artifactId>
		<version>2.8.1</version>
	</dependency>

      <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>2.4.3</version>
            <configuration>
                <createDependencyReducedPom>false</createDependencyReducedPom>
            </configuration>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                    	<transformers>
				            <transformer implementation="com.github.edwgiz.mavenShadePlugin.log4j2CacheTransformer.PluginsCacheFileTransformer">
				            </transformer>
				          </transformers>
                        <artifactSet>
                            <excludes>
                                <exclude>org.apache.tomcat.embed:*</exclude>
                            </excludes>      
                        </artifactSet>
                    </configuration>
                    
                </execution>
            </executions>
            <dependencies>
		      <dependency>
		        <groupId>com.github.edwgiz</groupId>
		        <artifactId>maven-shade-plugin.log4j2-cachefile-transformer</artifactId>
		        <version>2.8.1</version>
		      </dependency>
		    </dependencies>
        </plugin>
    </plugins>

mrosner17 avatar Aug 06 '18 01:08 mrosner17

updates about this?

ncremaschini avatar Aug 14 '18 12:08 ncremaschini

I got around it by using SLF4J. Still have bugs, but at least I am getting something to log to Cloudwatch.

mrosner17 avatar Aug 14 '18 13:08 mrosner17

May not be the right spot for this, but I was led here with the same error as what's mentioned above: Unable to parse configuration of mojo org.apache.maven.plugins:maven-shade-plugin:3.2.0:shade for parameter resource: Cannot find 'resource' in class com.github.edwgiz.mavenShadePlugin.log4j2CacheTransformer.PluginsCacheFileTransformer

I am seeing this error pop up when I bring in spring boot parent.

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.0.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

<dependencies>
    <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-lambda-java-log4j2</artifactId>
            <version>1.1.0</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-function-adapter-aws</artifactId>
            <version>2.0.0.BUILD-SNAPSHOT</version>
        </dependency>
    </dependencies>
<dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-function-dependencies</artifactId>
                <version>2.0.0.BUILD-SNAPSHOT</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.2.0</version>
                <configuration>
                    <createDependencyReducedPom>false</createDependencyReducedPom>
                    <shadedArtifactAttached>true</shadedArtifactAttached>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer
                                        implementation="com.github.edwgiz.mavenShadePlugin.log4j2CacheTransformer.PluginsCacheFileTransformer">
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
                <dependencies>
                    <dependency>
                        <groupId>com.github.edwgiz</groupId>
                        <artifactId>maven-shade-plugin.log4j2-cachefile-transformer</artifactId>
                        <version>2.8.1</version>
                    </dependency>
                </dependencies>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <configuration>
                    <skip>true</skip>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <mainClass>ACTUAL_MAIN_CLASS</mainClass>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.springframework.boot.experimental</groupId>
                        <artifactId>spring-boot-thin-layout</artifactId>
                        <version>1.0.17.RELEASE</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

nmichalares avatar Nov 27 '18 15:11 nmichalares

Got into this as well, looks like I cannot use aws-lambda-java-libs with shade

Ghilteras avatar Feb 05 '19 18:02 Ghilteras

For me, the issue was caused by having a parent pom. Removing the parent solved it for me.

MarkusKramer avatar Feb 06 '19 17:02 MarkusKramer

@ncremaschini I too am trying to get the custom AWS lambda appender to work with Spring Boot. For now, I am using a Logback configuration that can log stack traces as a single CloudWatch event. You can find it on my GitHub page.

NicholasPurdy avatar Mar 12 '19 02:03 NicholasPurdy

I solved the same issue adding the id tag inside the execution section <executions> <execution> <id>shade-jar</id> <phase>package</phase> <goals> <goal>shade</goal>....

vdsysvd avatar Oct 11 '21 12:10 vdsysvd

@vdsysvd could you throw some light on why this worked?

kkishoreathena avatar Nov 09 '23 05:11 kkishoreathena