小编Fra*_*ank的帖子

在C#项目中使用C++ DLL

我有一个C++ DLL,它必须集成在一个C#项目中.

我想我找到了正确的方法,但是调用dll会给我这个错误:System.BadImageFormatException:试图加载一个格式不正确的程序.(HRESULT异常:0x8007000B)

这是dll中的函数:

extern long FAR PASCAL convert (LPSTR filename);
Run Code Online (Sandbox Code Playgroud)

这是我在C#中使用的代码

namespace Test{
public partial class Form1 : Form
{
    [DllImport("convert.dll", SetLastError = true)]
    static extern Int32 convert([MarshalAs(UnmanagedType.LPStr)] string filename);

    private void button1_Click(object sender, EventArgs e)
    {
        // generate textfile
        string filename = "testfile.txt";

        StreamWriter sw = new StreamWriter(filename);
        sw.WriteLine("line1");
        sw.WriteLine("line2");
        sw.Close();

        // add checksum
        Int32 ret = 0;
        try
        {
            ret = convert(filename);

            Console.WriteLine("Result of DLL:  {0}", ret.ToString());
        }
        catch (Exception ex)
        {
            lbl.Text = ex.ToString();
        }
    } …
Run Code Online (Sandbox Code Playgroud)

c# c++ dll dllimport

6
推荐指数
1
解决办法
7921
查看次数

maven jersey-multipart缺少对javax.ws.rs.core.Response的依赖

我似乎有一个丢失的依赖,但不能找到解决办法......我确信所有的球衣版本是相同的回答在这里.

错误:

  SEVERE: The following errors and warnings have been detected with resource and/or provider classes:
  SEVERE: Missing dependency for method public abstract javax.ws.rs.core.Response com.service.copy(java.io.InputStream,com.sun.jersey.core.header.FormDataContentDisposition) at parameter at index 0
Run Code Online (Sandbox Code Playgroud)

使用的依赖关系:

<dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-servlet</artifactId>
        <version>1.17</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey.contribs</groupId>
        <artifactId>jersey-multipart</artifactId>
        <version>1.17</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-json</artifactId>
        <version>1.17</version>
    </dependency>
    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-bundle</artifactId>
        <version>1.17</version>
    </dependency> 

    <dependency>
            <groupId>org.jvnet</groupId>
        <artifactId>mimepull</artifactId>
        <version>1.6</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

发生错误的代码:

@POST
@Path("copy")
public Response copy(@FormDataParam("file") InputStream uploadedInputStream,
            @FormDataParam("file") FormDataContentDisposition fileDetail);
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?弗兰克,非常感谢

java eclipse jersey maven

6
推荐指数
1
解决办法
2万
查看次数

从 Bitbucket 管道中的 Java Maven 项目的 pom.xml 获取版本

有没有办法获取 pom.xml 文件中定义的版本,以便它可以与 Bitbucket 管道中的变量一起使用?

StackOverflow 上也有类似的问题,但它们主要指的是 Jenkins 和“readMavenPom”,这在 Bitbucket 管道中似乎不可用。

我想用它作为第二步上传到S3的版本标签。

- step:
    name: Build and Test
    caches:
      - maven
    script:
      - mvn package
    artifacts:
      - target/myapp-*.jar
- step:
    name: Upload to S3
    deployment: production
    script:
      - pipe: atlassian/aws-code-deploy:0.2.10
        variables:
          AWS_DEFAULT_REGION: $AWS_REGION
          AWS_ACCESS_KEY_ID: $AWS_ACCESS_KEY_ID
          AWS_SECRET_ACCESS_KEY: $AWS_SECRET_ACCESS_KEY
          COMMAND: 'upload'
          APPLICATION_NAME: 'myapp'
          ZIP_FILE: "target/myapp-*.jar"
          S3_BUCKET: 'myapps'
          VERSION_LABEL: "myapp-${version}-${BITBUCKET_COMMIT:0:8}"
Run Code Online (Sandbox Code Playgroud)

java maven bitbucket-pipelines bitbucket-aws-code-deploy

4
推荐指数
1
解决办法
3254
查看次数

使用 fastxml.jackson 将 JSON 解析为 Java 记录

根据设计,Java 记录不能从另一个对象继承(请参阅为什么 Java 记录不支持继承?)。所以我想知道实现以下目标的最佳方法是什么。

鉴于我的 JSON 数据包含具有一些通用数据 + 独特数据的对象。例如,类型、宽度和高度适用于所有形状,但根据类型,它们可以具有附加字段:

{
  "name": "testDrawing",
  "shapes": [
    {
      "type": "shapeA",
      "width": 100,
      "height": 200,
      "label": "test"
    },
    {
      "type": "shapeB",
      "width": 100,
      "height": 200,
      "length": 300
    },
    {
      "type": "shapeC",
      "width": 100,
      "height": 200,
      "url": "www.test.be",
      "color": "#FF2233"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

在“传统”Java 中,你可以这样做

BaseShape with width and height
ShapeA extends BaseShape with label
ShapeB extends BaseShape with length
ShapeC extends BaseShape with URL and color
Run Code Online (Sandbox Code Playgroud)

但我有点固执,真的很想用记录。

我的解决方案现在看起来像这样:

  • 无基础形状
  • 公共字段在所有记录中重复
@JsonIgnoreProperties(ignoreUnknown = …
Run Code Online (Sandbox Code Playgroud)

java json record jackson

2
推荐指数
1
解决办法
5865
查看次数