hessian
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.github.wuwen5.hessian</groupId>
<artifactId>hessian</artifactId>
<version>0.1.0</version>
</dependency><?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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>io.github.wuwen5.hessian</groupId>
<artifactId>hessian</artifactId>
<version>0.1.0</version>
<packaging>pom</packaging>
<name>${project.artifactId}</name>
<description>This project is a refactored and modularized version of the original
[Hessian](http://hessian.caucho.com/)
repository
It focuses solely on maintaining and enhancing the **Hessian2 serialization protocol**.</description>
<url>https://github.com/wuwen5/hessian</url>
<licenses>
<license>
<name>Apache 2</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
<comments>A business-friendly OSS license</comments>
</license>
</licenses>
<developers>
<developer>
<name>Wen Wu</name>
<email>wuwen.55@aliyun.com</email>
<url>https://github.com/wuwen5</url>
</developer>
</developers>
<modules>
<module>hessian-services</module>
<module>hessian2-codec</module>
<module>hessian-rpc</module>
<module>test</module>
<module>hessian-adapters</module>
</modules>
<scm>
<connection>scm:git:${git.url}</connection>
<developerConnection>scm:git:${git.url}</developerConnection>
<tag>HEAD</tag>
<url>https://github.com/wuwen5/hessian</url>
</scm>
<issueManagement>
<system>GitHub Issues</system>
<url>https://github.com/wuwen5/hessian/issues</url>
</issueManagement>
<ciManagement>
<system>GitHub Actions</system>
<url>https://github.com/wuwen5/hessian/actions</url>
</ciManagement>
<properties>
<git.url>https://github.com/wuwen5/hessian.git</git.url>
<java.version>11</java.version>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>${java.version}</maven.compiler.source>
<maven.compiler.target>${java.version}</maven.compiler.target>
<allowed.build.jdks>[11,23)</allowed.build.jdks>
<argLine />
<maven-enforcer-plugin.version>3.6.2</maven-enforcer-plugin.version>
<extra-enforcer-rules.version>1.11.0</extra-enforcer-rules.version>
<jacoco-maven-plugin.version>0.8.14</jacoco-maven-plugin.version>
<spotless-maven-plugin.version>2.46.1</spotless-maven-plugin.version>
<spotless.action>check</spotless.action>
<palantirJavaFormat.version>2.38.0</palantirJavaFormat.version>
<sonar.inclusions>hessian2-codec/src/main/java/**</sonar.inclusions>
<sonar.plugin>5.3.0.6276</sonar.plugin>
<sonar.organization>wuwen5</sonar.organization>
<slf4j.version>2.0.17</slf4j.version>
<lombok.version>1.18.42</lombok.version>
<junit_version>5.13.4</junit_version>
<mockito_version>5.20.0</mockito_version>
<hamcrest_version>1.3</hamcrest_version>
<maven_jacoco_version>0.8.2</maven_jacoco_version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<skip_maven_deploy>false</skip_maven_deploy>
<javax.servlet-api.version>4.0.1</javax.servlet-api.version>
<jetty-server>10.0.25</jetty-server>
<vavr.version>0.10.7</vavr.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.github.wuwen5.hessian</groupId>
<artifactId>hessian-services</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.github.wuwen5.hessian</groupId>
<artifactId>hessian2-codec</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>io.github.wuwen5.hessian</groupId>
<artifactId>hessian-dubbo-adapter</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>${jetty-server}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<version>${jetty-server}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>${junit_version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>${hamcrest_version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito_version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${javax.servlet-api.version}</version>
</dependency>
<dependency>
<groupId>io.vavr</groupId>
<artifactId>vavr</artifactId>
<version>${vavr.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.5.4</version>
<configuration>
<enableOutErrElements>false</enableOutErrElements>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<argLine>@{argLine}</argLine>
</configuration>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>3.3.1</version>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.12.0</version>
<configuration>
<source>8</source>
<show>protected</show>
<charset>UTF-8</charset>
<encoding>UTF-8</encoding>
<docencoding>UTF-8</docencoding>
<doclint>none</doclint>
<failOnError>true</failOnError>
<includeDependencySources>false</includeDependencySources>
</configuration>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>3.1.4</version>
</plugin>
<plugin>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.2.8</version>
</plugin>
<plugin>
<!--Enforcer插件提供了控制某些环境约束的目标,如Maven版本、JDK版本和OS系列,以及更多内置规则和用户创建的规则。-->
<!--主要用于检测依赖包的JDK编译版本,避免依赖过高不兼容的版本-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${maven-enforcer-plugin.version}</version>
<configuration>
<rules>
<enforceBytecodeVersion>
<maxJdkVersion>${java.version}</maxJdkVersion>
<ignoredScopes>test</ignoredScopes>
</enforceBytecodeVersion>
<requireJavaVersion>
<version>${allowed.build.jdks}</version>
</requireJavaVersion>
</rules>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.mojo</groupId>
<artifactId>extra-enforcer-rules</artifactId>
<version>${extra-enforcer-rules.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<!-- plugin docs: http://eclemma.org/jacoco/trunk/doc/ -->
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco-maven-plugin.version}</version>
<executions>
<execution>
<id>default-prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>default-report</id>
<goals>
<goal>report</goal>
</goals>
<phase>test</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonarsource.scanner.maven</groupId>
<artifactId>sonar-maven-plugin</artifactId>
<version>${sonar.plugin}</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<executions>
<execution>
<id>enforce-java</id>
<goals>
<goal>enforce</goal>
</goals>
<phase>validate</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.14.1</version>
</plugin>
<plugin>
<groupId>com.diffplug.spotless</groupId>
<artifactId>spotless-maven-plugin</artifactId>
<version>${spotless-maven-plugin.version}</version>
<configuration>
<java>
<excludes>
<exclude>**/generated-sources/**</exclude>
</excludes>
<palantirJavaFormat>
<version>${palantirJavaFormat.version}</version>
</palantirJavaFormat>
<removeUnusedImports />
</java>
<pom>
<sortPom>
<expandEmptyElements>false</expandEmptyElements>
<spaceBeforeCloseEmptyElement>true</spaceBeforeCloseEmptyElement>
</sortPom>
</pom>
<upToDateChecking>
<enabled>true</enabled>
</upToDateChecking>
</configuration>
<executions>
<execution>
<goals>
<goal>${spotless.action}</goal>
</goals>
<phase>process-sources</phase>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>jdk17+</id>
<activation>
<jdk>[17,]</jdk>
</activation>
<properties>
<argLine>--add-opens java.base/java.util=ALL-UNNAMED
--add-opens java.base/java.util.concurrent.atomic=ALL-UNNAMED
--add-opens java.base/java.time.temporal=ALL-UNNAMED</argLine>
</properties>
</profile>
<profile>
<id>release</id>
<activation>
<property>
<name>performRelease</name>
<value>true</value>
</property>
</activation>
<properties>
<gpg.skip>false</gpg.skip>
<maven.javadoc.skip>false</maven.javadoc.skip>
<maven.test.skip>true</maven.test.skip>
</properties>
<build>
<plugins>
<!-- GPG 签名插件 -->
<plugin>
<artifactId>maven-gpg-plugin</artifactId>
<executions>
<execution>
<id>sign-artifacts</id>
<goals>
<goal>sign</goal>
</goals>
<phase>verify</phase>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>0.9.0</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
<skip>${skip_maven_deploy}</skip>
</configuration>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<configuration>
<skip>${skip_maven_deploy}</skip>
</configuration>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>