Software vulnerabilities are weaknesses in the security checks of a software component that allow an attacker to perform unauthorized operations. Existing detection approaches are mostly based on a single specific code representation, which ignores the complementary relationship between different representations and results in insufficient representations of the program's semantic and syntactic information. To address the problem, this article proposes a novel vulnerability detection framework via doc2vec with path representations (VDDP), which leverages a joint path representation to combine three types of path representations separately extracted from the Abstract Syntax Tree (AST), Code Flow Graph (CFG), and Program Dependency Graph (PDG). This representation can compensate for the lack of semantic and structural information in a single representation. By extracting the comprehensive representation and building a corpus to train the doc2vec model, we can obtain a generic embedding model to encode the obtained path sequences into vectors. Extensive experiments are conducted to evaluate the proposed approach on the open benchmark dataset for vulnerability detection. The experimental results demonstrate that our method achieves superior performance compared to existing state-of-the-art approaches.